Spring REST支持是否通过以句点/ resources / {resourceid}开头的resourceid查找

时间:2018-09-17 18:30:42

标签: spring-restcontroller spring-rest spring-web

我正在使用REST API,该API具有按resourceid查找,而resourceid以开头。或/或//。我能够处理以/开头或包含/但不能以whos标识符开头的资源的情况。例如:/resources/.ABC-A 我正在寻找一些有关如何处理资源ID开头的案例的解决方案。

1 个答案:

答案 0 :(得分:0)

不确定路径的开头是否允许.。根据RFC 3896:

  

路径段“。”和“ ..”(也称为点段)是      定义为在路径名层次结构中的相对引用。他们      适用于相对路径参考的开始      (第4.2节)以指示层次结构内的相对位置      名称树。这类似于他们在某些操作中的角色      系统的文件目录结构以指示当前目录      和父目录。但是,与文件不同      系统中,仅在URI路径中解释这些点段      层次结构,并在解决过程中被删除(本节      5.2)。

此外,在路径中使用.时要小心:默认情况下,Spring会尝试并使用该路径来确定内容类型:

https://spring.io/blog/2013/05/11/content-negotiation-using-spring-mvc

示例:结尾为.au的路径可以解释为对application/audio的请求,为此您可能未安装处理程序。

要禁用此行为,您可以在favorPathExtension=false上设置ContentNegotiationConfigurer