【问题标题】:Request Parameter Versioning请求参数版本控制
【发布时间】:2018-03-08 04:07:18
【问题描述】:

我正在使用 Jersey 将请求映射到服务类。我正在尝试对应用程序实施请求参数版本控制。问题是 Jersey 仅使用 URI 进行映射并忽略参数。另外我希望仅根据请求参数执行不同的请求方法。例如,“http://www.example.com/content?version=1”应定向到 MethodA,“http://www.example.com/content?version=2”应定向到 MethodB。有什么办法可以做到吗?

【问题讨论】:

    标签: rest jersey versioning


    【解决方案1】:

    不确定这是否是您想要做的,但您似乎只想读取参数。您可以使用 Jersey 获取参数,使用 @QueryParam 注释。所以对于这个 URI:

    yourBaseUri/content?version=1
    

    一个例子是:

    @GET
    @Path("/content")
    public Response myMethod(@QueryParam(value = "version") String version) { 
        if("1".equals(version)) {
           // call MethodA
        } else if("2".equals(version))
           // call MethodB
        } else {
           // handle wrong/missing version number
        }
    }
    

    【讨论】:

    • 这可以使用注解吗?
    • @SwethaRao 试试我的例子,看看它是否适合你。
    • 它实际上可以工作,但我试图让它只使用注释,就像它在 Spring 中所做的那样。 springboottutorial.com/spring-boot-versioning-for-rest-services
    • 嗯,这就是泽西岛的工作方式。如果需要 Spring 注释,则需要使用 Spring。并且@QueryParam 是一个注解。
    猜你喜欢
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多