当前响应
Response{protocol=http/1.0, code=404, message=Not Found,
url=http://testapp*****/api/dev/myapp**/subscription%2F2be110}
但是我传递的网址是
url=http://testapp*****/api/dev/myapp**/subscription/2be110
“ subscription / 2be110” 作为字符串传递给在以下函数接收的api服务
@Headers("Content-Type: application/json;charset=UTF-8","Accept: application/json")
@POST("{urlEndString}")
fun getResponse(
@Path ("urlEndString") urlEndString : String, @Body `object`: JsonObject
):Call<JsonObject>
反斜杠如何更改为“%2F”格式?有解决此问题的解决方案吗?
Nb:使用retrofit2
答案 0 :(得分:1)
@Path
参数经过URL编码。因此,斜杠也将被URLEncoded。您可以使用2个路径参数,例如
@POST("{urlEndString1}/{urlEndString2}")
fun getResponse(
@Path ("urlEndString1") urlEndString1 : String, @Path ("urlEndString2") urlEndString2 : String, @Body `object`: JsonObject):Call<JsonObject>
并传递URL的2部分,以斜杠结尾。
或者,您可以使用@Path(value="urlEndString", encoded=true)
来显示该参数已经被编码,而Retrofit不需要对其进行编码。