当前位置: 首页 > 面试题库 >

除了方法之外,还使用标头将请求路由到带注释的方法

萧霍英
2023-03-14
问题内容

我想知道JAX-RS是否有可能使用HTTP方法之外的标头来路由请求。实际上,我找不到实现此目的的方法。

我想过类似的东西在哪里x-header头:

@Path("/contacts/")
public class MyResource {
    @POST
    @Header("x-header:content1")
    public void method1(MyContent1 content) {
        (...)
    }

    @POST
    @Header("x-header:content2")
    public void method2(MyContent2 content) {
        (...)
    }
}

非常感谢您的帮助


问题答案:

如果需要影响请求匹配/路由过程,则必须使用JAX-RS过滤器-特定的PreMatching过滤器(@PreMatching)[这将在JAX-RS
2.0及更高版本中起作用]如果在资源方法中使用标头信息,这是没有道理的,因为JAX-RS应该已经匹配了该方法

这是过滤器实施的总体流程

  1. 使用ContainerRequestContext获取标头信息
  2. 根据标题值应用业务准则
  3. 现在的诀窍是能够路由到所需的资源方法-您拥有的一个选择是使用ContainerRequestContext的setRequestUri方法,并在不同的URI上设置不同的资源方法(使用@Path)

泽西岛的文档可能会有所帮助-https: //jersey.java.net/documentation/latest/filters-and-
interceptors.html#d0e9538



 类似资料:
  • 嗨,我想排除带注释的方法,这里是代码。 排除任何用NoTryCatch注释的方法 上面的代码确实排除了用NoTryCatch注释的方法,但是当这个方法被异常调用时,它会停止下一个方法的执行。例如 现在我按顺序调用方法 test1()不运行。 如果我删除test1()运行

  • 问题内容: 我需要 在类中使用@X注释的方法或使用@X注释的方法的切入点 。我还 需要注释对象 。如果同时注释了类和方法,则 我更喜欢将方法注释作为参数 。 我尝试了以下操作,这将创建“不一致的绑定”警告。(为什么不将它们设置为null?) 下面创建“跨’||’的参数x的模糊绑定 在切入点”警告。(我认为这并不一定有意义:为什么不绑定第一个短路评估?) 如果存在类和方法注释,则将先前的尝试自然地分

  • 我尝试在DAO中使用带有Spring注释的,但遇到了这样的问题: 工作正确: 例外: 如何使用parallelStream()注释的事务方法? 更新为什么会发生这种情况Spring事务管理器和多线程,但我希望支持java 8的Spring 4能够提供一些解决方案。有什么想法吗?

  • 这是正确的吗?有没有更好的方法来构建这个?这能覆盖我所有的基础吗?

  • 本文向大家介绍Django框架的使用教程路由请求响应的方法,包括了Django框架的使用教程路由请求响应的方法的使用技巧和注意事项,需要的朋友参考一下 路由 路由可以定义在工程的目录下(看你的需求),也可以定义在各个应用中来保存应用的路由,用主路文件urls中使用include()包含各个应用的子路由的数据 路由的解析顺序 Django接收到请求后,从主路由文件urlpatterns中的路由从上倒

  • 问题内容: 美好的一天。如下代码: 据我了解,如果方法中存在异常,则不会回滚事务。以及如何使它滚动?并返回SomeResult 问题答案: 您不应该以编程方式调用回滚。根据docs的建议,最好的方法是使用声明性方法。为此,您需要注释哪些异常将触发回滚。 在你的情况下,像这样 看一下@Transaction API 和有关回滚事务的文档。 如果尽管有文档建议,但仍要进行程序化回滚,则需要按照已建议的