我正在使用spring-boot web模块编写一个普通的post请求,post请求中的字段是name、Description和title。
我的问题是,当我使用poster或任何客户端发出POST请求来添加新实体时,json键、名称、描述和标题是区分大小写的,但我如何使这些键不区分大小写。换句话说,即使用户使用d描述而不是d说明进行post请求,我的应用程序也应该接受该值,而不是接受null,因为它不完全匹配。
任何想法都会受到的赞赏
您可以编写函数来检查键是否存在区分大小写的值。在get方法中,您可以调用方法来拾取键。
public String getIgnoreCase(JSONObject obj, String key) {
Iterator<String> itr = obj.keySet().iterator();
while (itr.hasNext()) {
String key1 = itr.next();
if (key1.equalsIgnoreCase(key)) {
return obj.get(key1);
}
}
return null;
}
如果你想保留@RequestBody项目。那么这就是解决方案:
在application.properties:中
spring.jackson.mapper.accept_case_insensitive_properties=true
如果您使用application.yml,则:
spring:
jackson:
mapper:
accept_case_insensitive_properties: true