【问题标题】:Can struts2-json-plugin accept upper camel case parameters?struts2-json-plugin 可以接受大写的驼峰式参数吗?
【发布时间】:2020-10-15 03:13:52
【问题描述】:

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

如果参数样式是小驼峰式,一切都很好,比如{"region":"China","version":"v4"}。

但是当params是大写驼峰式时,它就不起作用了,比如{"Region":"China","Version":"v4"}。

我已经阅读了 struts 文档(https://struts.apache.org/plugins/json/),但仍然没有找到解决方法。

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

【问题讨论】:

    标签: struts2 camelcasing struts2-json-plugin


    【解决方案1】:

    它不能用于不区分大小写的 json 对象,因为名称被转换为区分大小写的操作类的 Java 类变量。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-17
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 2011-08-14
      • 2016-08-07
      相关资源
      最近更新 更多