首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >URL路径参数编码

URL路径参数编码
EN

Stack Overflow用户
提问于 2016-03-29 19:21:10
回答 1查看 1.1K关注 0票数 0

我在为path param编码进行改进而挣扎:

  • http://localhost:8080/nuxeo/api/v1是我的基本网址。
  • 我有个电话叫@GET("path/{documentPath}") Call<Document> fetchDocumentByPath(@Path("documentPath") String docPath);
  • 作为param,我将设置以下内容: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/");无法工作。

出于安全原因,http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450. 限制了验证:

,所以我想直接在path参数中发送'/‘,而不是在%2F中编码它。我怎样才能做到这一点?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-30 03:27:43

parent-2.0.0-beta4以来,@Path注释的参数现在已正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36293299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档