对于一个简单的 Java REST-API,我创建了一个保存函数来将我的模型保存到 DynamoDB 表中。
该模型使用自动生成的范围键,如下所示:
@DynamoDBTable(tableName = "Events")
public class EventModel {
private int country;
private String id;
// ...
@DynamoDBHashKey
public int getCountry() {
return country;
}
public void setCountry(int country) {
this.country = country;
}
@DynamoDBRangeKey
@DynamoDBAutoGeneratedKey
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
//...
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,DynamoDBMappers .save() 方法不返回任何内容。我想返回创建的项目以location在我的 201 HTTP 响应中设置正确的标头。
public EventModel create(EventModel event) {
mapper.save(event);
return null;
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?有什么建议?当然,我可以id在客户端生成,但我不想这样做,因为解决潜在的原子性问题需要客户端和服务器端的额外逻辑。
我正在使用 …