Spring resource支持是否以resource / resources / {resourceid}开头的resourceid查找

问题描述 投票:0回答:1

我正在开发REST api,它由resourceid和resourceid开始查找。或/或//。我能够处理以/或包含/但不包含标识符开头的资源开头的情况。例如:/resources/.ABC-A我正在寻找一些关于如何处理资源id开头的案例的解决方案。

spring-restcontroller spring-rest spring-web
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.