Für eine einfache Java-REST-API habe ich eine Speicherfunktion erstellt, um mein Modell in einer DynamoDB-Tabelle zu erhalten.DynamoDBMapper: Wie bekomme ich einen Artikel?
Das Modell verwendet einen automatisch generierten Bereich gedrückt, wie Sie hier sehen können:
@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;
}
//...
}
Leider ist das die DynamoDBMappers .save() method nichts zurückliefert. Ich möchte das erstellte Element zurückgeben, um den richtigen Header location
in meiner 201 HTTP-Antwort festzulegen.
public EventModel create(EventModel event) {
mapper.save(event);
return null;
}
Wie kann ich das machen? Irgendwelche Vorschläge? Natürlich könnte ich die id
auf dem Client generieren, aber ich möchte dies nicht tun, weil das Lösen der potentiellen Atomizitätsprobleme zusätzliche Logik auf Client- und Server-Seite benötigt.
Ich verwende die aws-java-sdk-dynamodb
in Version 1.11.86
.
Das Ereignis, das zurückgegeben wird, ist jedoch nicht das, das in der Datenbank ist. – BinaryShrub