SpringBoot 请求链接参数忽略大小写

 

URL 忽略大小写

/**
 * MVC配置类
 * @author jerryjin
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Resource
    private WebPathConfig webPathConfig;

    /**
     * 接口地址忽略大小写
     * @param configurer
     */
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        AntPathMatcher matcher = new AntPathMatcher();
        matcher.setCaseSensitive(false);
        configurer.setPathMatcher(matcher);
    }

}

参数忽略大小写

  1. 序列化、反序列化时默认使用属性名。此注解修改序列化/反序列化的名字。(原属性名失效)
public class Npc { 
	@JsonProperty(value = "name")`	
	private String name;
}

为属性添加别名,可用于兼容前端传来的不同格式的参数。别名可以多个,只影响反序列化。(原属性名有效)。对URL参数无效

public class Npc { 
	@JsonAlias({"user_name", "userName"})	
	private String name;
}

获取参数的方式,影响

- URL获取参数 请求体获取参数
@JsonProperty 无效 有效
@JsonAlias 无效 有效

参考资料

Jackson 学习笔记

 

URL 忽略大小写

/**
 * MVC配置类
 * @author jerryjin
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Resource
    private WebPathConfig webPathConfig;

    /**
     * 接口地址忽略大小写
     * @param configurer
     */
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        AntPathMatcher matcher = new AntPathMatcher();
        matcher.setCaseSensitive(false);
        configurer.setPathMatcher(matcher);
    }

}

参数忽略大小写

  1. 序列化、反序列化时默认使用属性名。此注解修改序列化/反序列化的名字。(原属性名失效)
public class Npc { 
	@JsonProperty(value = "name")`	
	private String name;
}

为属性添加别名,可用于兼容前端传来的不同格式的参数。别名可以多个,只影响反序列化。(原属性名有效)。对URL参数无效

public class Npc { 
	@JsonAlias({"user_name", "userName"})	
	private String name;
}

获取参数的方式,影响

- URL获取参数 请求体获取参数
@JsonProperty 无效 有效
@JsonAlias 无效 有效

参考资料

Jackson 学习笔记

 

posted @ 2024-02-04 17:37  CharyGao  阅读(147)  评论(0编辑  收藏  举报