【问题标题】:Retrofit2: Adding Token Params(@Query) in Retrofit POST RequestRetrofit2:在 Retrofit POST 请求中添加令牌参数(@Query)
【发布时间】:2020-09-10 08:55:54
【问题描述】:

我正在将 Retrofit2 用于移动应用。我正在与之交互的 API 需要将令牌放入参数中才能发出有效请求。像这样:

我想发出一个 POST 请求,我可以在其中将该令牌集成到参数中。

我尝试使用@Query 但没有成功,Retrofit 文档仅在@GET 请求中进行了演示。关于如何实现这一目标的任何想法?

【问题讨论】:

    标签: java android android-studio httprequest retrofit2


    【解决方案1】:

    我的问题只是输入错误。这行得通。 @Query 直接在 POST 请求中将我传递的令牌直接放入参数中就好了。

    【讨论】:

      【解决方案2】:

      当您需要动态添加路径值时使用@Path

      @FormUrlEncoded
      @POST("users/{token}")
      Call<AgentResponse> agentCreateUse(
              @Path("token") String token);
      ...
              )
      

      并删除@Query

      • form-urlencoded:POST
      • 查询参数:GET

      使用表单 urlencoded 请求将数据发送到服务器或 API。数据在请求正文中发送,而不是作为 url 参数。

      在使用特定字段或过滤器从 API 或服务器请求数据时使用查询参数。

      【讨论】:

        【解决方案3】:

        在 POST 请求中使用 @Field 而不是 @Query

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-05-29
          • 2016-03-17
          • 1970-01-01
          • 2017-01-27
          • 2015-04-09
          • 1970-01-01
          • 2021-02-19
          • 1970-01-01
          相关资源
          最近更新 更多