【问题标题】:Android Retrofit 2 make POST request multiple params (without FormUrlEncoded)Android Retrofit 2 使 POST 请求多个参数(没有 Form UrlEncoded)
【发布时间】:2017-06-27 07:47:54
【问题描述】:

我想使用多个参数而不是一个 @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 参数,但可能还有其他注释?

提前致谢!

【问题讨论】:

    标签: android retrofit2


    【解决方案1】:
    @FormUrlEncoded
    @POST("user/register")
    Call<APIResponse> updateUser(@Field("username") String username, @Field("email") String email, @Field("password") String password);
    

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

    【讨论】:

    • @Shade Issac。如果需要更多信息,请告诉我。
    • 感谢您的回答,但我想知道如果没有 @FormUrlEncoded 注释是否有可能
    猜你喜欢
    • 2014-03-30
    • 1970-01-01
    • 2018-03-24
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多