Для простого Java REST-API я создал функцию сохранения, чтобы сохранить мою модель в таблице DynamoDB.DynamoDBMapper: Как получить сохраненный элемент?
Модель использует ключ диапазона автогенерируемого, как вы можете увидеть здесь:
@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;
}
//...
}
К сожалению, в DynamoDBMappers .save() method ничего не вернуть. Я хочу вернуть созданный элемент, чтобы установить правильный заголовок location
в ответе HTTP 201.
public EventModel create(EventModel event) {
mapper.save(event);
return null;
}
Как это сделать? Какие-либо предложения? Конечно, я мог бы создать id
на клиенте, но я не хочу этого делать, потому что для решения проблемы потенциальной атомарности нужна дополнительная логика на стороне клиента и сервера.
Я использую aws-java-sdk-dynamodb
в версии 1.11.86
.
Событие, которое возвращается, не является тем, которое находится в базе данных. – BinaryShrub