struts2 - struts2-json-plugin 可以接受大写的驼峰式参数吗?
问题描述
我正在使用 struts2(struts2-json-plugin) 来处理Content-Type=application/json
请求,
一切都很好,params 风格是小驼峰,比如{"region":"China","version":"v4"}
。
但是当 params 是大写驼峰式时,它就不起作用了,比如{"Region":"China","Version":"v4"}
.
我已经阅读了 struts 文档(https://struts.apache.org/plugins/json/),但仍然没有找到解决方法。
这是我的 struts.xml 的一部分:
解决方案
它不能与不区分大小写的 json 对象一起使用,因为名称被转换为区分大小写的操作类的 Java 类变量。
json 插件包含命名的拦截器json
,您应该将其配置为从请求中反序列化 json 内容的操作。这个答案指向一些负责序列化/反序列化和填充 Java 对象的类。
如果您不想填充操作,则不应使用此拦截器。而是使用此库或任何其他第三方库手动解析请求以获取
JSONObject
. 或者您可以重写拦截器并注释正在使用JSONPopulator
但反序列化对象的代码JSONUtil
。
如果要将具有小写名称的 json 对象转换为骆驼大小写,则应在填充过程之前覆盖这些类之一以对应于 Java 类变量名称。
推荐阅读
- android - 是否有任何插件可以忽略以flutter中的小部件开头的大写字母?(android studio)
- python - 无法用pywin32打开excel文件
- javascript - 带有静态查询的盖茨比图像
- oracle-sqldeveloper - 在 Oracle SQL Developer 中单击表时将默认选项卡设置为数据
- python - 如何在 macOS 10.15.4 Catalina 上卸载 python 2.7.16?
- java - Maven Surefire 正确使用 Exclude
- python - Python 中的同时赋值与一对一赋值
- javascript - 使用响应式图像转到页面中的锚标记
- sql - 如何避免使用 concat
- dart - Dart:异步方法的退出没有任何痕迹