struts2-json-plugin可以接受驼峰式大小写参数吗?

问题描述

我正在使用struts2(struts2-json-plugin)处理Content-Type=application/json请求,

在params样式为小写驼峰的情况下,一切都很好,例如{"region":"China","version":"v4"}

但是当params是大骆驼字母(例如{"Region":"China","Version":"v4"})时,它将无法工作。

我已经阅读了struts docs(https://struts.apache.org/plugins/json/),但仍然找不到解决方法

这是我的struts.xml的一部分:

this

解决方法

它不能与不区分大小写的json对象一起使用,因为名称已转换为区分大小写的动作类的Java类变量。

json插件包含名为json的拦截器,您应将其配置为操作以从请求中反序列化json内容。 This的答案指向负责序列化/反序列化和填充Java对象的某些类。

如果您不想填充操作,则不应使用此拦截器。而是使用此库或任何其他第三方库手动解析请求以获取JSONObject。或者,您可以重写拦截器并注释使用JSONPopulator的代码,但使用JSONUtil反序列化对象。

如果要将小写名称的json对象转换为驼峰式,则应在填充过程之前覆盖这些类之一,以与Java类变量名称相对应。