@SerializedName Игнорируется - PullRequest
0 голосов
/ 13 июня 2018

Моя конечная точка облака Google получает объект в теле сообщения, и при преобразовании JSON в фактический объект Java большинство полей остаются пустыми.Похоже, что API конечной точки не учитывает аннотации gson, такие как @ SerializedName

public class MyObject{

    @SerializedName("production_unit_ID")
    private Long productionUnitId;
    ...
    getters / setters

}

API:

    @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>

1 Ответ

0 голосов
/ 14 июня 2018

Конечные точки не используют GSON под капотом.Для этого используйте ApiResourceProperty.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...