2016-05-03 8 views
1

私は次のエンティティを持っています。これは別のエンティティを参照しています。Spring Data Rest Mongo - URIの代わりにIDを使用してDBRefを作成する方法は?

class Foo { 
    String id; 
    String name supplierName; 
    **@DBRef** TemplateSchema templateSchema; 
... 
} 

次のJSON(またはそれに類する)を使用して新しいエンティティを作成できます。

{ 
    "supplierName": "Stormkind", 
    "templateSchema": "572878138b749120341e6cbf" 
} 

...しかし、それはあなたがこのようなURIを使用するには、ばね力のようになります。

{ 
    "supplierName": "Stormkind", 
    "templateSchema": "/template-schema/572878138b749120341e6cbf" 
} 

代わりにURIのIDを掲載することによりDBRefを作成する方法はありますか?

ありがとうございます!

+0

DBRef用のカスタムデシリアライザを実装できますが、Oliver Gierkeが指摘するように、RESTリソースはURIで識別される必要があります。 –

答えて

3

RESTでは、存在する唯一のIDの形式はURIです(したがって、一意のリソース識別子という名前です)。 572878138b749120341e6cbfのようなものはリソースを特定しません。/template-schema/572878138b749120341e6cbf

HTTPレベルでは、エンティティは存在せず、URIによって識別されるリソースのみが存在します。そのため、Spring Data RESTではURIを識別子として使用することを期待しています。

関連する問題