我正在开发REST api,它由resourceid和resourceid开始查找。或/或//。我能够处理以/或包含/但不包含标识符开头的资源开头的情况。例如:/resources/.ABC-A我正在寻找一些关于如何处理资源id开头的案例的解决方案。
不确定在路径的开头是否允许使用.
。根据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
。