RetroFit接口方法参数

时间:2016-02-25 08:31:47

标签: java android json retrofit2

我第一次使用RetroFit,所以让我很困惑。我试图通过POST将JSON对象传递给服务器。但是我不知道如何制作模型类和改造库的方法。我的JSON看起来像这样:

{
  "Header": {
    "UserDetails": "sample string 1",
    "ClientCode": "sample string 2",
    "Password": "sample string 3",
    "ViewType": 0,

  },
  "MemberDetails": {
    "Username": "sample string 1",
    "Password": "sample string 2",
    "MemberNo": "sample string 3",
    "MobileNo": "sample string 4"
  }
}

我已经生成了2个模型类:Header and MemberDetails

Interface类是这样的:

public interface MyServerAPI {
    @POST("users/memberlogin")
    Call<> login(@Body WHAT_OBJECT_TO_PASS_HERE?);
}

我不知道是否要传递Header和MemberDetails对象,或者将它们放在ArrayList中并将其传递给login()。

1 个答案:

答案 0 :(得分:0)

Interface类可以是这样的

    public interface MyServerAPI {
      @FormUrlEncoded
      @POST("users/memberlogin")
        Call<MyResponse> login(@Field("my_object") String myObject);
    }

然后你可以将你的对象传递为像这样的json字符串

String jsonString=new Gson().toJson(obj);
Call<MyResponse> myResponse = myGithubApi.login(jsonString);