2017-01-31 13 views
0

単純な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は何も返しません:あなたがここに見ることができるよう

モデルが自動生成された範囲のキーを使用しています。作成したアイテムを返信して、201 HTTP応答に適切なlocationヘッダーを設定します。

どのようにすればいいですか?助言がありますか?もちろん、私はクライアント上でidを生成することができましたが、潜在的なアトミック性の問題を解決するには、クライアント側とサーバー側で追加のロジックが必要なので、これをやりたいとは思いません。

はバージョン1.11.86です。

答えて

1

気にしないで、私はそれをどうやって行うのか考え出しました。 .save()メソッドは、オブジェクトの参照を更新します。 mapper.save(event);を呼び出した後、idプロパティに値が設定され、値が設定されます。

だから、仕事を取得する方法はただである:それThat's

public EventModel create(EventModel event) { 
    mapper.save(event); 
    return event; 
} 

+0

返されるイベントは、データベースにあるイベントではありません。 – BinaryShrub

関連する問題