rest api POST请求json密钥不匹配



我正在使用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

最新更新