我继承了一些包含Retrofit使用的代码:
@Headers("Content-Type: application/json")
@POST("checkin?")
Call<AppVersionResponse> checkAppVersion(@Query("MRN") String mrn, @Body Patient patient);
问题:
checkin
?”结束时做什么。通过我的阅读,这将在请求中产生两个问号(第二个来自@Query
)。也许这是HTTP可以容忍的,但对我来说似乎不对。 Call
的{{1}}参数后面跟@Query
参数时应该会发生什么?文档说@Body
允许指定请求的整个正文。 AFAIK,这段代码正在运作,但作为一个改造的菜鸟我无法弄清楚为什么,或者它是否需要注意。
答案 0 :(得分:0)
问题1:我不知道是否这样?是改进语法的一部分,我想它不是因为我认为它更像是在服务器上重写URL的问题。
问题2:由于您通过Post发送参数,因此这些参数位于标题中,因此可以使用正文内容在标题中发送参数。稍后在服务器中,您可以检查参数并确定如何处理正文。这不是最好的方法,但它是可能的。