如何使用 Retrofit 发布数组参数?

pen*_*ang 5 retrofit

我想post数据如下:

   {
     "user_id":"14545646",
    "list":["4545645","4545645","4545645","4545645"]
   }
Run Code Online (Sandbox Code Playgroud)

我使用了以下Retrofit方法:

interface DeleteOrder {

         @FormUrlEncoded
         @POST("/api/shop/deleteOrder.json")
         void getPoJoDeleteOrder(@Field("user_id") String user_id, @Field("list") String[] list,Callback<PoJoDeleteOrder> callback);

      }
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

sur*_*190 -2

如果查询参数列表是固定的,您可以执行以下操作:

@POST("/user/sign_in")
User login(
    @Query("user[email]") String email,
    @Query("user[password]") String password);
Run Code Online (Sandbox Code Playgroud)

否则,map您需要将完整的查询参数设置为键:

values.put("user[email]", "foo@bar.com");
values.put("user[password]", "123456");
Run Code Online (Sandbox Code Playgroud)

这个答案直接复制自:Github Retrofit