Java 改进接口方法参数
我是第一次使用改型,所以它让我困惑。我试图通过POST将JSON对象传递给服务器。但是,我不知道如何为改装库创建模型类和方法。我的JSON如下所示:Java 改进接口方法参数,java,android,json,retrofit2,Java,Android,Json,Retrofit2,我是第一次使用改型,所以它让我困惑。我试图通过POST将JSON对象传递给服务器。但是,我不知道如何为改装库创建模型类和方法。我的JSON如下所示: { "Header": { "UserDetails": "sample string 1", "ClientCode": "sample string 2", "Password": "sample string 3", "ViewType": 0, }, "MemberDetails": {
{
"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"
}
}
public interface MyServerAPI {
@POST("users/memberlogin")
Call<> login(@Body WHAT_OBJECT_TO_PASS_HERE?);
}
我已经生成了两个模型类:Header和MemberDetails
接口类如下所示:
{
"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"
}
}
public interface MyServerAPI {
@POST("users/memberlogin")
Call<> login(@Body WHAT_OBJECT_TO_PASS_HERE?);
}
公共接口MyServerAPI{
@POST(“用户/成员登录”)
调用登录(@Body WHAT\u OBJECT\u TO\u PASS\u HERE?);
}
我不知道是传递Header和MemberDetails对象,还是将它们放在ArrayList中并将其传递给login()。接口类可以是这样的
public interface MyServerAPI {
@FormUrlEncoded
@POST("users/memberlogin")
Call<MyResponse> login(@Field("my_object") String myObject);
}
String jsonString=new Gson().toJson(obj);
Call<MyResponse> myResponse = myGithubApi.login(jsonString);
公共接口MyServerAPI{
@FormUrlEncoded
@POST(“用户/成员登录”)
调用登录(@Field(“my_object”)字符串myObject);
}
然后可以像下面这样将对象作为json字符串传递
public interface MyServerAPI {
@FormUrlEncoded
@POST("users/memberlogin")
Call<MyResponse> login(@Field("my_object") String myObject);
}
String jsonString=new Gson().toJson(obj);
Call<MyResponse> myResponse = myGithubApi.login(jsonString);
String jsonString=new Gson().toJson(obj);
调用myResponse=myGithubApi.login(jsonString);
这是您的答案,可能与刚才创建的另一个包含Header和MemberDetails类的类重复。@user2498079请尝试此操作。我如何看到json(由GSON从模型转换为json raw)被发送到服务器?尝试在服务器端回显“my_object”我不控制服务器端。无论如何,我已经在android应用程序上启用了调试,它表明完整的JSON没有被发送到服务器。发送到服务器的json中缺少模型类中的大多数字段