我想将这样的内容发送到服务器
{
"tourId": 5,
"stopPoints": [
{
"arrivalAt": 15532956000,
"lat": 10.826125820975317,
"leaveAt": 1553299200000,
"long": 106.68923623859882,
"maxCost": 100000,
"minCost": 50000,
"name": "Bun new",
"serviceTypeId": 1
},
{
"arrivalAt": 15532956011,
"lat": 13.826125820975317,
"leaveAt": 1553299200000,
"long": 100.68923623859882,
"maxCost": 150000,
"minCost": 10000,
"name": "Bun update",
"serviceTypeId": 1
},
],
}
这是我的服务界面
@FormUrlEncoded
@POST("tour/set-stop-points")
Call<serviceStopPoints> stopPointsSet(@Body serviceStopPoints serviceStopPoints);
这是 stopPoint 类
public class stopPoint {
@SerializedName("arrivalAt")
@Expose
private long arrivalAt;
@SerializedName("lat")
@Expose
private double lat;
@SerializedName("leaveAt")
@Expose
private long leaveAt;
@SerializedName("long")
@Expose
private double lng;
@SerializedName("maxCost")
@Expose
private long maxCost;
@SerializedName("minCost")
@Expose
private long minCost;
@SerializedName("name")
@Expose
private String name;
@SerializedName("serviceTypeId")
@Expose
private int serviceTypeId;
}
这是 serviceStopPoints 类
public class serviceStopPoints extends Number {
@SerializedName("tourId")
@Expose
String tourID;
@SerializedName("stopPoints")
@Expose
ArrayList<stopPoint> stopPoints;
}
我已阅读此链接并尝试一下 Sending ArrayList<Object> POST request with Retrofit 但我不明白这一行
Call<ServiceResult<Integer>> orderSet(@Body Order order);
请帮我用 Retrofit 发送这个 ArrayList。 感谢您阅读我的问题。
最佳答案
将 get/set 添加到您的类中,并且 创建您的请求对象。
serviceStopPoints request = new serviceStopPoints();
List<stopPoint> stopPointList = new ArrayList<stopPoint>();
stopPoint s = new stopPoint();
s.setArrivalAt("..");
.
.
.
stopPointList.add(s);
request.setTourID("1234);
request.setStopPoints(stopPointList);
使用
ApiHelper.getService().stopPointsSet(request).enqueue(new Callback<serviceStopPoints>() {
@Override
public void onResponse(Call<serviceStopPoints> call, Response<serviceStopPoints> response) {
//do with the response
}
@Override
public void onFailure(Call<serviceStopPoints> call, Throwable t) {
//error
}
});
我认为你不需要@FromUrlEncoded。
希望有帮助:)
关于java - 如何使用 Retrofit 发布 ArrayList <Object>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59180245/