使用DynamoDB属性名通过REST发送JSON

使用DynamoDB属性名通过REST发送JSON,json,rest,api,amazon-dynamodb,postman,Json,Rest,Api,Amazon Dynamodb,Postman,我的Car POJO类中有一个字段,如下所示: @DynamoDBAttribute(attributeName = "release_year") private int year; { "release_year": 2015 } 我想通过邮递员发送POST请求,将汽车添加到我的数据库中。我希望我的JSON身体能像这样: @DynamoDBAttribute(attributeName = "release_year") private int year; { "release

我的Car POJO类中有一个字段,如下所示:

@DynamoDBAttribute(attributeName = "release_year")
private int year;
{
  "release_year": 2015
}
我想通过邮递员发送POST请求,将汽车添加到我的数据库中。我希望我的JSON身体能像这样:

@DynamoDBAttribute(attributeName = "release_year")
private int year;
{
  "release_year": 2015
}
这是不可能的,我必须用“年”来代替。在我的dynamoDB中,该字段称为“发布年”


我的问题是:是否可以在我的POST请求中使用“release_year”,但在POJO类中仍然保留“year”?或者我必须将该字段重命名为“release\u year”?

我没有使用Java的exp,但@DynamoDBAttribute注释似乎只在函数级别工作。所以请尝试一下


  private int year;

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


我发现字段上的注释@jsonsetvervaluename就足以满足我的情况。我可以用

{ 
    release_year: 2015 
} 
对于我的POST请求,当我使用GET请求时,该值将是release_year,而不是像以前一样的年份


我猜@DynamoDBAttribute只适用于数据库中的列,不会影响请求。

谢谢您的回复!我忘了提到我正在使用lombok,这就是为什么我没有显式地编写getter、setter和setter。但是,我尝试不使用lombok,但它仍然不起作用。不,对象已成功保存,但年份的值为“0”。