我有一个URI https://localhost/Message/message?id=10
,它会给出id = 10的消息详细信息。
我想在输入URI时获得相同的响应,如下所示(此处路径变量具有不同的情况)
https://localhost/Message/message?id=10
https://localhost/Message/Message?ID=10
https://localhost/Message/mEssage?Id=10
https://localhost/Message/MESSAGE?iD=10
答案 0 :(得分:1)
对于URI / PathVariable(消息)名称: Spring 4.2+支持不区分大小写的路径匹配的配置。 您可以按如下方式对其进行配置:
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
AntPathMatcher matcher = new AntPathMatcher();
matcher.setCaseSensitive(false);
configurer.setPathMatcher(matcher);
}
}
对于@RequestParam
/请求参数(ID)部分:
你必须手动完成 - Spring Boot中没有开箱即用的支持。基本概念是你必须实现一个自定义servlet过滤器,它可以标准化HttpServletRequest
中的参数 - 例如您可以在将它们传递给String.toLowerCase()
之前向所有@RestController
申请,其中您将所有请求参数绑定定义为较低的值。