我使用struts2(struts2-json-plugin)来处理Content-Type=application/json请求,
所有的东西都很好,因为帕姆斯风格是较低的骆驼箱,如{"region":"China","version":"v4"}。
但是,它不能工作,当帕姆斯是上骆驼的情况,如{"Region":"China","Version":"v4"}。
我已经阅读了struts (https://struts.apache.org/plugins/json/),但仍然没有找到解决的方法。
这是我的struts.xml的一部分:

发布于 2020-10-16 09:29:06
它不能处理不区分大小写的json对象,因为名称被转换为区分大小写的动作类的Java类变量。
json插件包含名为json的拦截器,您应该将该拦截器配置为从请求中反序列化json内容的操作。This回答指出了一些负责序列化/反序列化和填充Java的类。
如果您不想填充操作,那么就不应该使用这个拦截器。相反,用这个或任何其他第三方库手动解析请求以获得
JSONObject。或者您可以重写拦截器并注释正在使用JSONPopulator但使用JSONUtil反序列化对象的代码。
如果要将具有小写名称的json对象转换为camel,则应该在填充过程之前重写其中一个类,以对应Java类变量名称。
https://stackoverflow.com/questions/64364323
复制相似问题