問題タブ [spring-data-rest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
5120 参照

java - spring-data-rest によって公開されたカスタム jpa リポジトリ メソッド

http://docs.spring.io/spring-data/data-jpa/docs/1.0.x/reference/html/#repositories.custom-implementationsで詳しく説明されているように、jpa リポジトリにカスタム メソッドを追加しました。

私が見る限り、このメソッドは spring-data-rest を使用すると公開されません。spring-data-rest によって生成された REST API の一部として (Spring MVC コントローラーを自分で作成せずに) 公開する方法はありますか?

0 投票する
2 に答える
3644 参照

java - Spring Data Rest と PagingAndSortingRepository で例外を処理するにはどうすればよいですか?

次のようなリポジトリがあるとします。

これはうまくいきます。ただし、クライアントが形成されたリクエスト (存在しないフィールドを検索するなど) を送信した場合、Spring は JSON として例外を返します。@Queryなどを明らかにする。

スローされてクライアントに送信される例外の例:

これらの例外を処理するにはどうすればよいですか? 通常、@ExceptionHandlerMVC コントローラーには を使用しますが、Data Rest API とクライアントの間のレイヤーは使用していません。するべきか?

ありがとう。

0 投票する
3 に答える
3246 参照

spring-data-rest - Spring Data Rest : リポジトリから json スキーマを公開する方法 (2.0.0.M1)

ソースコードで、Spring DATA Rest が /{repository}/schema.

これを設定する方法を知っている人はいますか?

RepositorySchemaController (org.springframework.data.rest.webmvc) がありますが、使用方法がわかりません。

バージョン: 2.0.0.M1

0 投票する
2 に答える
5083 参照

java - spring-data-rest と spring websocket を単一の実装に混在させる方法

特定のエンティティの変更に関心のあるすべてのクライアントに状態を同期したいと思います。だから私は次のようなものを達成したいと思います:

  • エンティティで CRUD API を公開する ( および を介しHTTP/RESTwebsockets)
  • (変更呼び出しの)応答をwebsocketsトピックにルーティングします

技術的には、 spring-data-restspring websocket の実装を組み合わせて、spring-data-websocket のようなものを実現するアイデアに興味があります。

私の頭に浮かぶ2つの解決策があり、実際には両方とも次のようになります。

  • spring-data-rest を介してエンティティを公開するREST/HTTP API
  • websocketコントローラ (エンティティの変更呼び出しに使用)

コントローラーは次のwebsocketようになります。

シナリオ 1:Websocket APIから呼び出されたREST/HTTP API

ルール:

  • クライアントのリクエストは常にREST/HTTP API
  • 応答はREST/HTTP APIすべての操作に対するものです
  • さらに、操作を変更すると、websocketメッセージも表示されます

技術的には、次の方法で実現できます。

  • spring-rest-data イベントwebsocketからコントローラーを呼び出す(つまり、、、)AfterCreateEventAfterSaveEventAfterLinkSaveEventAfterDeleteEvent

私が行く必要があるので、それでも解決策は私にはかなりうんざりしているようです:

  1. クライアント A --HTTPリクエスト --> サーバー (spring-data-rest コントローラー)
  2. サーバー (spring-data-rest コントローラーの AfterXXXEvent) --websocketメッセージ --> Springwebsocketコントローラー
  3. Spring websocket コントローラー --websocketトピック経由のメッセージ --> トピックに関心のあるすべてのクライアント
  4. サーバー (spring-data-rest コントローラー) --HTTP応答 --> クライアント A

シナリオ 2:Websocket APIから独立REST API

ルール:

  • クライアント要求はREST/HTTP API非変更操作専用です
  • 応答はREST/HTTP API非変更操作のみです
  • クライアントwebsocketはすべての変更操作に対してメッセージを送信します
  • websocketメッセージは、すべての変更操作に対してのみクライアントに送信されます

他にアイデアが思い浮かばない場合は、後者の方法を使用しますが、それでも、spring-data-websockets のようなものC(R)UDを介して公開されるメソッドを何らかの方法で生成し、ルートのみを処理できれば素晴らしいと思います。websockets私の実装。

すべてのエンティティのすべてのメソッドを( *WebSocketControllersを介して) 手動で公開する必要があるように感じます。CUDそして、私はそれには怠惰すぎるかもしれません。

アイデア?

0 投票する
1 に答える
3666 参照

spring - Spring Data Rest ページング可能な子コレクション

User という @Entity があります。次のような変更セットのセットがあります。

私は UserRepository を持っています:

ChangesetRepository:

http://localhost:8080/changesets/またはで GET を呼び出すhttp://localhost:8080/users/と、ページングされた応答が生成されます。

GET を呼び出すとhttp://localhost:8080/users/1/changesets、すべての結果が 1 つの配列で取得され、ページングは​​発生しません。

親ユーザーを介してアクセスするときに、変更セットコレクションをページング可能な方法で返したいことを Spring Data Rest に示す方法はありますか? 変更セットのセットは急速に拡大するため、1 ページに大量の結果を返すのは避けたいと考えています。

編集:

Willie Wheeler が提案したように、これを ChangesetRepository に追加して検索可能にしました。

私は関係を双方向のままにしましたが、変更セットのセットで使用することにより、変更セットへのリンクをユーザーから隠すこともできました@RestResource(exported=false)

補足: 関係を export=false に設定すると、リンクが非表示になりますが、実際にはマッピングが削除されないようです。/users/1/changesets は宣伝されていませんが、有効です。

0 投票する
1 に答える
1067 参照

spring - Spring Data Rest と Hateoas

@RestResource アノテーションでリポジトリにアノテーションを付けて、Spring Data Rest の動作をテストするための簡単なチュートリアルに従っていました。私は非常に単純なシナリオを持っています: @RestResource で注釈が付けられた Jpa User Entity と UserRepository

アノテーション構成の初期化を使用し、RepositoryRestMvcConfiguration を登録しようとするため、UserRepository を登録できます。しかし、アプリケーションが起動せず、次の例外があります

spring-hateoas: 0.8.0.RELEASE spring-data-rest-webmv: 2.0.0.RC1 spring-framework: 4.0.0.RELEASE spring-data-jpa:1.4.3 を使用します。

0 投票する
1 に答える
486 参照

spring-data - Spring Data REST 2.0 RC1 を機能させるにはどうすればよいですか?

Spring Data REST 1.1.0.M1 が動作しましたが、バージョン 2.0 を試してみたいと思います。

これが私のPOMです:

SDR 2.0.0.R1 を試すと得られClassNotFoundException: org.springframework.data.web.config.HateoasAwareSpringDataWebConfiguration、HATEOAS 0.9 を試すと得られますIllegalArgumentException: Content must not be a collection! Use Resources instead!