2016-06-29 12 views
0

私はAPIのバージョン管理hereに関する良い議論をすべて行った。 URIにバージョン番号を入れることにしました。これは、URIでapiバージョンのないリソースを要求するクライアントをデフォルトで最新のバージョンにサポートする必要があるためです。例:Restエンドポイントのバージョン管理とURIのエイリアシング

http://base_uri/api/customers/1234 (with out api version) 
http://base_uri/api/v3.0/customers/1234 (default to current version) 

ステップ1:上記のアドレスに:私は、任意のより良いアプローチがあるかどうかをアドバイスしてください(url rewritejboss valve)を使用して、URL書き換えを考えています。

ステップ2:すべての@Pathアノテーションをバージョン番号 "v1"でプリペンドする必要があります。

@Path("/foo/bar") will now change to @Path("v1/foo/bar"). 

私はバージョン

ex: @Path("{version}/foo/bar") 

、残り-簡単にリソースをスキャンし、登録されている間、コンフィギュレーション・ファイルからのバージョン名を読みの代わりにプレースホルダを有していると考えていました。だから将来的には新しいバージョンに移行すれば、必要なのは1か所で変更することだけです。

私はstep1のベストアプローチをお探しです& step2。どんな助けでも大歓迎です。 URLの書き換えは、この要件のために少し複雑かもしれないので、私は残り-簡単に、JAX-RS 2.0使用しています

、JBossは

答えて

0

私は、ステップ2をお勧めします。また、メンテナンスするコンポーネントが1つ追加されます。 ステップ2では、注釈はコンパイル時に評価されるため、注釈は定数のみを使用することに注意する必要があります。だから、定数を宣言し、@Pathアノテーションでそれを再利用してください。

public static final String VERSION_1 = "1.0"; // In Constantsクラス。

これをすべてのパスマッピングや注釈で使用します。

@Path( "/" + Constants.VERSION_1 + "/ fooの/バー")

関連する問題