需要一个JAVA API,该API可以对不同客户端的[POST REST调用]返回不同的响应

时间:2019-09-09 10:19:18

标签: java rest return-value httpresponse return-type

我在Java中拥有服务器REST API。服务器代码的1.0版基本上执行了一些功能,然后用于将类X的对象返回给客户端1。 现在,在当前版本2.0中,相同的服务器代码将Response类对象返回到客户端2。请注意,此处未完成API版本控制。完全相同的代码只是不同之处在于,由于客户端2的服务器添加了一些新功能,因此不需要服务器1中的一些繁重功能。 问题是我合并了1.0和2.0并创建了一个二进制文件。我已经合并了包括功能在内的所有内容,但问题出在返回类型中。 请注意,所有客户端的url端点将相同,并且客户端代码无法更改。因此,根据客户端的类型,此API有什么方法可以在运行时返回两个不同的响应对象? 此外,服务器API可以在返回响应之前轻松识别客户端类型,但在收到请求时则不能。

服务器代码的版本1:

   @POST
    public T createOne(@BeanParam L locator, T item, @Context HttpServletRequest httpServletRequest, @Context HttpServletResponse httpServletResponse) { }

服务器代码的版本2:

    @POST
    public Response createOne(@BeanParam L locator, T item, @Context HttpServletRequest httpServletRequest, @Context HttpServletResponse httpServletResponse) { }

请注意,URI完全相同,我不想对其进行版本控制。

0 个答案:

没有答案