我正在努力使用改造的路径参数编码:
http://localhost:8080/nuxeo/api/v1
是我的基本网址。我有这个电话
@GET("path/{documentPath}") Call<Document> fetchDocumentByPath(@Path("documentPath") String docPath);
作为参数,我正在设置以下内容:
default-domain/blabla
- 我对我的 tomcat 应用程序运行查询,我得到了这个答案
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 出于安全原因限制了他的 URL 验证:http ://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450 。
所以我想直接在我的路径参数中发送“/”而不用 %2F 编码。我怎样才能实现它?
谢谢!