无法将此Retrofit的使用与文档进行协调

时间:2017-12-13 21:06:46

标签: java android json http retrofit2

我继承了一些包含Retrofit使用的代码:

@Headers("Content-Type: application/json")
@POST("checkin?")
Call<AppVersionResponse> checkAppVersion(@Query("MRN") String mrn, @Body Patient patient);

问题:

  1. 什么是“?”在“checkin?”结束时做什么。通过我的阅读,这将在请求中产生两个问号(第二个来自@Query)。也许这是HTTP可以容忍的,但对我来说似乎不对。
  2. Call的{​​{1}}参数后面跟@Query参数时应该会发生什么?文档说@Body允许指定请求的整个正文
  3. AFAIK,这段代码正在运作,但作为一个改造的菜鸟我无法弄清楚为什么,或者它是否需要注意。

1 个答案:

答案 0 :(得分:0)

问题1:我不知道是否这样?是改进语法的一部分,我想它不是因为我认为它更像是在服务器上重写URL的问题。

问题2:由于您通过Post发送参数,因此这些参数位于标题中,因此可以使用正文内容在标题中发送参数。稍后在服务器中,您可以检查参数并确定如何处理正文。这不是最好的方法,但它是可能的。