Отправка JSON через REST с использованием имени атрибута DynamoDB - PullRequest
0 голосов
/ 08 января 2020

В моем классе Car POJO есть поле, которое выглядит следующим образом:

@DynamoDBAttribute(attributeName = "release_year")
private int year;

Я хочу добавить Car в свою базу данных, отправив запрос POST через Postman. Я надеялся, что мое JSON тело может выглядеть так:

{
  "release_year": 2015
}

Это невозможно, я должен использовать вместо этого «год». В моей DynamoDB это поле называется «release_year»;

Мой вопрос таков: можно ли как-нибудь использовать «release_year» в моем POST-запросе, но все же оставить «год» в классе POJO? Или мне нужно переименовать поле в «release_year»?

Ответы [ 2 ]

1 голос
/ 08 января 2020

У меня нет опыта с Java, но, похоже, @DynamoDBAttribute аннотация работает только на функциональном уровне. Так что, пожалуйста, попробуйте


  private int year;

  @DynamoDBAttribute(attributeName = "release_year")
  public int getYear() { return year; }
  public void setYear(int year) { this.year = year; }

0 голосов
/ 13 января 2020

Я обнаружил, что аннотации @JsonSetter (valueName) над полями будет достаточно для моего случая. Я могу использовать

{ 
    release_year: 2015 
} 

для моего запроса POST, и когда я использую запрос GET, это значение будет release_year вместо года, как прежде.

Я думаю, @DynamoDBAttribute работает только для столбцов в базе данных и не влияет на запросы.

...