【发布时间】:2018-03-20 09:51:18
【问题描述】:
我正在使用 Retrofit2 向我的服务器发送和接收请求。
这是我的 API 接口和模型类。
-
界面
public interface ApiInterface { @POST("/users/") Call<User> signUp(@Body User user); @POST("/login_url/") Call<User> login(@Body User user); } -
改造客户端
public class RetrofitClient { private static Retrofit retrofit = null; public static Retrofit getRestClient(String baseUrl) { if (retrofit == null) { retrofit = new Retrofit.Builder().baseUrl(baseUrl) .addConverterFactory(GsonConverterFactory.create()) .build(); } return retrofit; } } -
POJO 类
public class User { @SerializedName("id") private Integer id; @SerializedName("email") @Expose private String email; @SerializedName("first_name") private String firstName; @SerializedName("last_name") private String lastName; @SerializedName("password") @Expose private String password; }
我已经公开了电子邮件和密码,以便在登录请求中添加这两个参数。 但是对于像注册这样的另一个请求,我还需要将名字和姓氏连同电子邮件和密码一起发送。
我可以为两者使用相同的“用户”类吗?因为如果我暴露了名字和姓氏,那么这些字段也会在登录请求中发送。
还有其他方法或者我应该为这两个请求创建不同的 POJO 类吗?
【问题讨论】:
-
为什么不只发送参数?
-
意思是我需要通过我自己的添加作为参数来准备JSON对象吗?
标签: android retrofit retrofit2 gson