2017-05-27 6 views
1

SpringのRepositoryRestResourceアノテーションは、定義されたパスフラグメント上にエンドポイントを作成します。そのリポジトリのパスパラメータを含める方法がありますパスパラメータが設定されたSpring RepositoryRestResource?

/expenses 
/expenses/search 
/expenses/1 

@RepositoryRestResource(path = "expenses") 

のようなエンドポイントを作成するのでしょうか?特定のユーザーに関連する費用のみを表示したい"マイケル":

/users/1/expenses 

/users/michael/expenses 
/users/michael/expenses/search 
/users/michael/expenses/1 

EDIT 1

私は右のエンドポイントになりUserに同じ注釈を使用して途中そこに得ることができました

しかし、私はそのリソースで何もPOSTできません - サーバーは空のボディで応答します。

+0

[Spring Data RESTで@OneToManyサブリソースの関連付けをポストする]の可能な複製(https://stackoverflow.com/questions/25311978/posting-a-onetomany-sub-resource-association-in-spring-data) -rest) –

答えて

0

は、私はあなたが(私の場合expensesには)一般的なアイテムコレクションに投稿するために持っている一つの解決策を発見し、ペイロードに含むエンティティへの参照を置く:

POST http://localhost:8080/expenses 

{ 
    "description": "new car", 
    "comment": "way too expensive...", 
    "amount": 3339, 
    "creationDateTime": "2017-05-26T13:12:11.000+0000", 
    "user":"http://localhost:8080/users/1" 
} 

注ペイロードの最後の行。それは接続されたエンティティを指します。

この解決策で動作しますが、それは私が動作させたい方法ではありません。私は、一般的な経費表ではなく、自分自身の経費を掲示してほしい。

0

私はthisが必要なものだと思います。

このヘルプが必要です。

+0

こんにちは@Erwin。助けてくれてありがとう。あなたがリンクしている巨大な記事では、SpringとRESTの基本的な使い方について説明しています。私が 'RepositoryRestResource'で持っている問題は、少し具体的です。実際、このページにはその注釈も言及されていません。また、外部ページはいつでも変更または移動できるため、リンクオンリーの回答はリンクアウトの流れでは推奨されません。外部ページで回答が見つかった場合は、リンクに加えて関連する部分を引用してください。 –

関連する問題