5

バージョニングを使用してREST APIコードを整理する良い例/ベストプラクティスを誰かが教えてくれるなら、私は好奇心旺盛です(uriベース、「/v1/zzz」と「/v2/xxx」、またはAcceptヘッダーに依存するより良いものを意味します) -- Java/Spring プロジェクトでは? 現在、自分のプロジェクトで複雑にしすぎているのではないかと心配しているので、他の人から学ぶといいでしょう。

明確化: フィルタを使用して動作を変更し、設計パターンを使用して動作を変更する必要があるかどうかはわかりませんが、これによりフィルタがかなり複雑になります..または、スプリングと DI を使用したトリックについて考えていない可能性があるため、私のコードをよりきれいにすることができます。最も単純なアプローチは、バージョン管理が異なるすべてのメソッドのいくつかの戦略パターンですが、あまりにもきれいではないようです:-(

4

1 に答える 1

3

Apigee http://offers.apigee.com/api-design-ebook-bw/の本とブログを読むことを強くお勧めします。URLの設計とエラー処理に関する実際的なアドバイスを得ることができました。

http://www.stormpath.com/blog/spring-mvc-rest-exception-handling-best-practices-part-2には、Spring MVC を構成して安静なアプリケーションの一般的なエラー処理を行う方法に関する非常に優れた記事があります。

以下のリクエストマッピングの header= のように、Spring ではフィルターに基づいてハンドラーメソッドマッピングを絞り込むことができるため、accept ヘッダーのフィルタリングは非常に簡単です。

@RequestMapping(value="/narrow/headers/{name}/{email}/{customerNumber}",
        method={RequestMethod.POST,RequestMethod.GET},
        headers="Referer=http://localhost:8080/SpringMVC/request-mappings.html")
public ResponseEntity<String> narrowOnHeaders(
        @PathVariable("name")String name, 
        @PathVariable("email") String email, 
        @PathVariable("customerNumber") Integer customerNumber,
        @RequestHeader("Referer") String referer
    )
于 2012-07-30T06:09:50.987 に答える