我正在尝试在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。
如果我收到标题中的版本,请建议一种如何实现此功能的方法?
答案 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";
}