問題タブ [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.
spring - Spring Data Rest 2.1.0 は複雑なリソースを POST または PUT できません
編集: これは PUT でも発生しているようです。
spring-data-rest-webmvc バージョン 2.1.0.BUILD-SNAPSHOT を使用すると、既存のリソースを指す関係を持つリソースを POST できないことがわかりました。参照をインスタンス化する必要がある 2 つのエンティティがあり、それらのエンドポイントのいずれかに POST すると、以下の動作が発生します。
参照を必要としないリソースの POST はうまく機能します。
少し掘り下げたところ、うまくいったようですが、型を逆シリアル化できるかどうかを確認しているPersistentEntityResourceHandlerMethodArgumentResolver
ときMappingJackson2HttpMessageConverter
に例外がスローされます。ObjectMapper
例外の原因はNullPointerException
.
/reservation との関係を含む POST の例:
{
"description" : "test_post",
"dateMade" : "2014-03-03T08:04:44.293-0600",
"timeLastChanged" : null,
"userLastChanged" : null,
"courseTypeId" : null,
"numCredits" : null,
"instructor" : null,
"numParticipants" : null,
"reservationType" : "MCU",
"status" : "REQUESTED",
"abstract" : null,
"requestor" : "http://localhost:8080/users/2",
"submitter" : "http://localhost:8080/users/2",
"conferences" : []
}
応答:
{
cause: null
message: "No suitable HttpMessageConverter found to read request body into object of type class domain.Reservation from request with content type of application/json!"
}
/roomGroups と関係のない POST:
{
"description" : "All Rooms",
"isOffNetwork" : false,
"roomGroupType" : "STANDARD"
}
応答:
201 Created
私が投稿しているJSONに何か問題がありますObjectMapper
か? 何らかの回避策はありますか?これは、2.0.0.RC1 で、JSON に参照リンクを含めるためのわずかに異なるスキームを使用して機能していました。Jackson の依存関係のバージョンは同じままであるように見えるため、この問題の原因は何なのだろうか...
助けてくれてありがとう!
アップデート:
この問題は現在、関連付けられているエンティティとは無関係のようです...
@Entity
次のように新しい ConnectionRequest を作成しました。
json に Conference リレーションが含まれている新しい ConnectionRequest レコードを POST でき{"conference" : ".../conferences/1"}
ます。
@Entity
ただし、この予約で同じ例外が引き続き発生します。
このクラスの何が特別なのか、物事がうまくいかない原因になっているのかわかりません...
spring - spring-data-rest-webmvc 2.0.0 - RepositoryRestExporterServlet がありません
spring-data-rest-webmvc 2.0.0 で REST Web サービスを作成しようとしています。バージョン1.0.0を使用するハンドブック「Spring in Practice」に従っています。このハンドブックでは、以下のように web.xml でエクスポーター サーブレットを定義します。
バージョン 2.0.0 では、RepositoryRestExporterServlet クラスが見つかりません。どのディスパッチャ サーブレットを使用すればよいですか? 例をどこで入手できますか? ありがとう
swagger - Spring-Data-Rest を使用した Swagger
spring-data-rest を使用して Swagger を構成した人はいますか。swagger には、すべての spring-mvc リクエスト マッピングをスキャンする DocumentationConfig クラスがあることを知っています。ただし、明示的なリクエスト マッピングが定義されていないため、それを spring-data-rest に使用する方法。この点でどんな助けでも大歓迎です。また、Spring-Data-Rest をサポートする他のドキュメント フレームワークがあるかどうかを知りたいです。
spring-data-rest - Spring データ REST: 適切な HTTP メソッドを使用してリソースの関連付けを更新する
Spring Data REST を使用しており、Spring REST を使用して多対 1 の関係を変更しようとしていますが、適切な http 呼び出しを機能させることができません。
私のエンティティは次のようになります (POST などを使用した作成などの基本的な呼び出しは正常に機能します):
ID 1 の現在の timedefinition を ID 2 に変更したいと考えています。
さまざまなエラーでさまざまな種類の呼び出しを試しました。以下の呼び出しは機能しません。
次のエラーが表示されます。
タイプ java.lang.String からタイプ domain.TimeDefinition への値 '0' の変換に失敗しました。ネストされた例外は java.lang.IllegalArgumentException: クラス domain.TimeDefinition に間違ったタイプの ID を提供しました。予想: クラス java.lang.Integer、クラス java.lang.Long を取得
別の例は次のとおりです。
私が得るエラーは次のとおりです。
"message":"リストまたはマップではないプロパティ参照を更新するには、リンクを 1 つだけ送信する必要があります。"
http://docs.spring.io/spring-data/rest/docs/2.0.1.RELEASE/reference/html/のメイン リファレンスは、残念ながら上記のトピックに関する情報をあまり提供していません。
エンティティの関連付けを更新するための適切な REST クエリ形式に関する洞察と説明は大歓迎です!