2016-08-10 21 views
-3

私は以下のようにVersionningを実装しました。現在、私はこのようRest WebServicesバージョン管理

@GET 
@Path("/{id}") 
@Produces("application/v1+json;version=1") 
public TrackV1 getV1(@PathParam("id") int id) String version) { 
    return new TrackV1("Version=1", "Version=1", "2:30", 1941); 
} 

@GET 
@Path("/{id}") 
@Produces("application/v2+json;version=2") 
public TrackV1 getVa1(@PathParam("id") int id) { 
    return new TrackV1("Version=2", "Version=2", "2:30", 2941); 
} 

のようにそれを実装しています。しかし、私は次の実装にそれを変更する必要があります: - 春やJAX-RSとジャージーで実装する方法

@GET 
@Path("/{id}") 
@Produces("application/json;version=1") 
public TrackV1 getV1(@PathParam("id") int id) String version) { 
    return new TrackV1("Version=1", "Version=1", "2:30", 1941); 
} 

@GET 
@Path("/{id}") 
@Produces("application/json;version=2") 
public TrackV1 getVa1(@PathParam("id") int id) { 
    return new TrackV1("Version=2", "Version=2", "2:30", 2941); 
} 

ので、任意の助け。

+0

あなたの質問を明確にしてください。 –

+0

@Producesタグでは( "application/versionId + json");これを@Produces( "application/json; version = id")に変更する必要があります。 ? –

+2

[JAX-RSベースの実装での簡単なRESTリソースのバージョニングの可能な複製?](http://stackoverflow.com/questions/4924034/easy-rest-resource-versioning-in-jax-rs-based-implementations) –

答えて

0

私は私の質問に対する解決策が見つかりました: - それは問題を与えているが、あなたは、Apache-CXFのWS実装を使用するか、RESTEasyのを使用するときに、簡単にversionningのこれらのタイプを持つことができジャージーを使用して

@GET 
@Produces("application/xml;version=1") 
public Response getAddonListVersion1(@Context UriInfo uriinfo) { 
    logger.debug("START:Addons Dummy Service Implementation"); 

    return Response.ok("Version 1", "application/xml").build(); 
} 

@GET 
@Produces("application/xml;version=2") 
public Response getAddonListVersion1(@Context UriInfo uriinfo) { 
    logger.debug("START:Addons Dummy Service Implementation"); 

    return Response.ok("Version 2", "application/xml").build(); 
} 

を。

関連する問題