JAVA中RESTEasy3.0.7中的API版本实现

时间:2014-06-19 07:00:29

标签: java resteasy

我正在尝试在java中的REST Easy 3.0.7中实现API版本。在阅读了很多关于api版本的文章后,我得出结论,最好的方法是在标题中发送版本号。目前我在头文件中接收api-version参数,因为{i}类需要像.. {/ p>这样的方法

api-version:1.0

@GET
@Path("/status/test")
@Produces("application/xml")
@Consumes("application/json")
public String test()
{
    return "Test OK";
}

这里我想保持路径与/ status / test相同但基于版本我想选择方法测试或test1,如@GET @Path("/status/test") @Produces("application/xml") @Consumes("application/json") public String test1() { return "Test OK - 2"; } 然后方法测试和api-version:1.0那么方法应该调用test1。

如果我收到标题中的版本,请建议一种如何实现此功能的方法?

1 个答案:

答案 0 :(得分:2)

我会通过根据版本调用test()test1()的方法来实现:

类似的东西:

@GET
@Path("/status/test")
@Produces("application/xml")
@Consumes("application/json")
public String testFacade(@HeaderParam("api-version") String version)
{
    if(version.equals("1.0") return test();
    else return test1(); 
}

private String test()
{
    return "Test OK";
}

private String test1()
{
    return "Test OK - 2";
}

See Documentation for HeaderParam