我正在努力使用改进的路径参数编码:
http://localhost:8080/nuxeo/api/v1
是我的基本网址。我有这个电话@GET("path/{documentPath}")
Call<Document> fetchDocumentByPath(@Path("documentPath") String docPath);
作为参数,我正在设置以下内容:default-domain/blabla
Response{protocol=http/1.1, code=400, message=Bad Request, url=http://localhost:8080/nuxeo/api/v1/path/default-domain%2Fblabla}
即使我把encode = true说成“不对我的参数进行编码,它已经编码了”,它仍在对其进行编码。
此外,在改造中,如果我们将retrofit2.RequestBuilderTest#getWithEncodedPathParam
置于以下断言中,则此测试Request request = buildRequest(Example.class, "po/ng");
不起作用:assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/po/ng/");
由于安全原因,Tomcat限制了他的网址验证:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450。
所以我想在我的路径参数中直接发送'/'而不在%2F中对其进行编码。我怎样才能实现它?
谢谢!
答案 0 :(得分:0)
自parent-2.0.0-beta4
起,@Path
注释的参数现在正常运行。