java - @SerializedName 被忽略
问题描述
我的 Google 云端点在帖子正文中接收到一个对象,当将 JSON 转换为实际的 Java 对象时,大多数字段都留空。似乎端点 API 没有考虑像 @SerializedName 这样的 gson 注释
public class MyObject{
@SerializedName("production_unit_ID")
private Long productionUnitId;
...
getters / setters
}
接口:
@ApiMethod(name = "puMyObject", httpMethod = "put", path = "putMyObject")
public MyObject putWorkOrder(HttpServletRequest req, MyObject myobj) {
myobj.getProductionUnitId(); // <-- null
在我的 pom.xml 中,我根据文档的要求添加了以下依赖项:
https://developers.google.com/api-client-library/java/google-http-java-client/app-engine
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client</artifactId>
<version>1.23.0</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-gson</artifactId>
<version>1.23.0</version>
</dependency>
解决方案
Endpoints 在后台不使用 GSON。改用ApiResourceProperty
这个。
推荐阅读
- javascript - 如何获得 JavaScript 阶乘程序的循环来显示使用的工作?
- python-3.x - 如何使用 PyMongo 检索感知时区日期时间对象
- c++ - 在 C++ VSCode 中的不同行上格式化 If-else
- javascript - 不带引号或“$”的 Angular 表达式/XSS-Payload
- html - 如何在下拉菜单的选项标签内使用 django url?
- centos - 在使用 CentOS、Plesk、php-fpm 的服务器上为 SQL Anywhere 安装 php 扩展
- ios - Tableview - 包含内容的单元格的分隔符不显示
- javascript - 在 Highcharts 中,尝试使用不同的标签值更新 X 轴时,X 轴标签值未完全绑定
- vb.net - 用于启用和禁用点击槽形式的 Vb.Net 复选框
- kubernetes - kubernetes 入口是否有任何版本控制?