gpt4 book ai didi

android - Retrofit,Android,How to RequestOrderStatusBean object(Retrofit @Body parameter) with RequestOrderStatusBean object

转载 作者:行者123 更新时间:2023-11-30 00:28:01 27 4
gpt4 key购买 nike

Retrofit请求API格式(Android):

 @POST("getOrderStatus")
@Headers("Content-Type:application/json")
Observable<Response> getOrderInfo(@Query("timeStamp") long ts, @Body RequestOrderStatusBean bean);

BuildRequestOrderStatusBean.java

 public class BuildRequestOrderStatusBean {
public int startNum;
public int endNum;
}

RequestOrderStatusBean.java

RequestOrderStatusBean 是 Retrofit API getOrderInfo 中的@Body 参数

RequestOrderStatusBean 对象将使用许多相同的数据结构但不同的 var 名称构建 BuildRequestOrderStatusBean 对象。

 public class RequestOrderStatusBean {
// TODO: How to use BuildRequestOrderStatusBean to build RequestOrderStatusBean object?
/**
{
"arrayA" : { "startNum" : 10, "endNum" : 50 },
"arrayB" : { "startNum" : 100, "endNum" : 200 },
"arrayC" : { "startNum" : 230, "endNum" : 300}
...
*/
}

QA: 如何使用 BuildRequestOrderStatusBean 对象构建 RequestOrderStatusBean 对象(Retrofit @Body 参数)?

引用:

  • com.squareup.retrofit:retrofit:1.9.0
  • io.reactivex:rxjava:1.1.0
  • io.reactivex:rxandroid:1.1.0
  • com.squareup.okhttp:okhttp:2.6.0
  • com.google.code.gson:gson:2.2.4

最佳答案

无法使用动态键创建模型类,您可以使用 JsonObject 来实现相同的目的(仔细查看它的 JsonObject 而不是 JSONObject)

JsonObject arrayA = new JsonObject();
arrayA.addProperty("startNum", 10);
arrayA.addProperty("endNum", 50);

JsonObject arrayB = new JsonObject();
arrayB.addProperty("startNum", 100);
arrayB.addProperty("endNum", 200);

JsonObject object = new JsonObject();
object.add("arrayA", arrayA);
object.add("arrayB", arrayB);

它的输出是

{
"arrayA":{
"startNum":10,"endNum":50
},
"arrayB":{
"startNum":100,"endNum":200
}
}

这只是一个示例,您可以使用 for 循环等添加任意数量的对象。

然后在改造中将接口(interface)方法更改为@Body JsonObject bean

 @POST("getOrderStatus")
@Headers("Content-Type:application/json")
Observable<Response> getOrderInfo(@Query("timeStamp") long ts, @Body JsonObject bean);

retrofit 将像处理任何其他模型类一样处理它。

关于android - Retrofit,Android,How to RequestOrderStatusBean object(Retrofit @Body parameter) with RequestOrderStatusBean object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008615/

27 4 0