首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行REST webservice url版本控制?

如何进行REST webservice url版本控制?
EN

Stack Overflow用户
提问于 2014-11-05 14:53:43
回答 1查看 140关注 0票数 0

我需要对REST web服务API进行版本控制。我在Stack Overflow下面看过几篇文章。我发现有三种方法: Url版本控制、自定义请求头和接受头。我正要去做URL版本控制。

我的URL是这样的:

代码语言:javascript
复制
 http://localhost:8080/api/svcs/1.0/usrLocation?1234

现在我的问题是如何版本化上面的url。我没有从服务器端代码中找到任何实际的示例。我能够找到理论和URL,如下所示:

代码语言:javascript
复制
http://localhost:8081/api/svc/v1/ and blah blah..

我的jax-rs实现代码将是什么样子,实际的概念将如何在服务器端实现?

我是这方面的初学者。我的JAX-RS实现是Apache CXF

我的代码:

代码语言:javascript
复制
  @Get
  @Path("/usrLocation")
   @Produces (MediaType.APPLICATION_JSON)
  public Response getUsrLocation(@QueryParam ("locId") String locId){
     //  logic
   }

如何将url http://localhost:8080/api/svcs/1.0/usrLocation?1234更改为版本控制,以便在将来对其有所帮助,以及它如何在jax-rs实现端工作?

EN

Stack Overflow用户

发布于 2014-11-06 02:39:58

您可以遵循两种设计方法

  1. 说,假设您的更改(将是)是最小的,并且它是代码的特定部分,例如,您有保险保单应用程序,并且您正在将应用程序升级到新版本,因为政府已经引入了影响调试的保单。你有计算调试的模块,然后你可以将版本作为参数传递。

@Path("/svc")公共类KPApiService {私有最终静态日志日志= LoggerFactory.getLogger(KPApiService.class);@Path("/{ version }/myapp") @GET公共响应myApp(@PathParam(“version”)字符串版本,@QueryParam(“kpdata”)字符串数据){LOG.debug(“您和输入的版本{}和数据{} ",版本,数据);}}

  • 说,假设您的更改影响很大,并且您想要引入新模块,但仍有少数用户(旧版)尚未实施这些更改,那么您可以使用不同的版本创建单独的方法

@Path("/svc")公共类KPApiService {私有最终静态记录器日志= LoggerFactory.getLogger(KPApiService.class);@Path("/1.0/myapp1") @GET公共响应数据(@QueryParam(“kpdata”)字符串myApp1){LOG.debug(“您和输入的版本v1和数据{} ",data);} @Path("/1.2/myapp1") @GET公共响应myApp2(@QueryParam(“kpdata”)字符串数据){LOG.debug(“您和输入的版本数据和数据{} ",v2 );} }

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26751295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档