我在Spring中实现REST调用时遇到了一个奇怪的问题。我已经实现了以下URL结构,其中包含三个@PathVariables。
GET http://server/module/api/P1/P1-Value/P2/P2-Value/P3/P3-Value
对我来说看起来很简单,但Spring会抛出NoSuchRequestHandlingMethodException异常并调用我的handleInvalidRequests方法。经过一番调查后,我发现将最后一个PathVariable更改为RequestParam是有效的(同时保持其他所有内容都相同)。
http://server/module/api/P1/P1-Value/P2/P2-Value?P3=P3-Value
我无法相信,但我唯一的解释是它似乎是Spring框架中的一个错误。还有其他人面临类似的问题吗?更重要的是,还有什么我可以尝试调试它以使其工作吗?
PS: 我发现最接近Spring的Jira的问题是https://jira.spring.io/browse/SPR-5365,这对他们来说是不可复制的。也许我已经击中了它!如果Spring的任何人想要解决这个问题,我很乐意提供详细信息。