如何使用Retrofit为请求的查询字符串提交原始值(无参数名称和值对)?

时间:2017-07-15 05:19:48

标签: android http request retrofit2

我有一个API端点,需要将授权代码作为请求的查询字符串发送。整个查询字符串是代码,没有参数名称和值对,因为通常就是这种情况。

我如何使用Retrofit描述这个?

我写了这个:

@GET("/Accounts/OauthLogin")
fun authenticaten(@Query('param') accessCode: String);

但我没有提交看似/Accounts/OauthLogin?param=<code>的请求,而是想要一个只有/Accounts/OauthLogin?<code>的请求

我该如何实现?

谢谢!

爱德华多

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

试试这个

 @GET("order/detail.json/{ordercode}")
Call<OrderDetailModel> getOrderDetails(@Path("ordercode") String ordercode);

答案 2 :(得分:0)

Ben P的答案是正确的。通过使用@QueryName,我们可以在没有键/值对的情况下追加查询。这是在没有替换块的情况下实现@Query@Path的工作方式。

如果您想要类似 exampleapi.com/clients?string

您将要使用以下格式

正确的方式

@GET("clients")
fun getClients(@QueryName()string: String): Call<ClientsModel>

方式不正确

@GET("{string}")
fun getClients(@Query("clients")@Path("string")string: String): Call<ClientsNetworkModel>