Android Retrofit 2使POST请求多个参数(没有FormUrlEncoded)

时间:2017-02-09 10:36:26

标签: android retrofit2

我想用多个参数而不是一个@Body参数进行POST请求调用。我没有在这个上使用@FormUrlEncoded注释,我不想这样做。我正在使用Retrofit 2.0。

目前,通过这种方式进行通话:

@POST("user/register")
Call<APIResponse> register(@Body RequestRegisterParams params);

,RequestRegisterParams为:

public class RequestRegisterParams {
    public String username;
    public String email;
    public String password;
}

我希望能够做到这一点(当然有正确的注释):

@POST("user/register")
Call<APIResponse> register(String username, String email, String password);

我的目标是摆脱数据模型类。有没有办法做这个或没有@FormUrlEncoded的POST请求必须只有一个@Body参数?我知道它只能是一个@Body param但可能还有其他注释吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

@FormUrlEncoded
@POST("user/register")
Call<APIResponse> updateUser(@Field("username") String username, @Field("email") String email, @Field("password") String password);

@Field 是表单编码请求的命名对。