2

最近、REST インターフェースを介して CRUD 機能を自動的に公開するために、Spring Data REST ( http://www.springsource.org/spring-data/rest ) を実装しました。

GET と POST はどちらも期待どおりに機能しますが、PUT Verb を使用すると 405 Method Not Allowed が表示されます。

ドキュメントによると

Verb    Method
GET     CrudRepository<ID,T>.findOne(ID id)
POST    CrudRepository<ID,T>.save(T entity)
PUT     CrudRepository<ID,T>.save(T entity)
DELETE  CrudRepository<ID,T>.delete(ID id)

デフォルトでは、これらのメソッドはすべてクライアントにエクスポートされます。ここのドキュメント( http://static.springsource.org/spring-data/rest/docs/1.1.0.M1/reference/htmlsingle/ )を読みましたが、この動作の理由を見つけることができないようです.

誰かが私が間違っていたかもしれない場所を提案できますか? すべてのエンティティ クラスのリソース マッピングを定義する RepositoryRestMvcConfiguration クラスを提供しました。

4

1 に答える 1

12

POSTおよびPUTリクエストに同じ URL を使用しようとしていますが、PUT通常は更新する必要があるオブジェクトの ID が必要です。

Spring には のマッピングがありますが、リクエストlocalhost:8080/<applicationname>/<entityName>のみのマッピングであるため、エラーが発生します。POST

以下で使用してみてくださいPUT:

http://localhost:8080/<applicationname>/<entityName>/<objectId>
于 2013-08-19T09:23:41.817 に答える