当前位置: 首页 > 知识库问答 >
问题:

问题Resteasy 3.09 CorsFilter

宗鸿博
2023-03-14

如果我在getsingletons()方法(application子类的)中定义这个过滤器,那么我的资源就不会再被扫描了。这意味着将找不到任何资源,并出现以下错误:

javax.ws.rs.NotFoundException:找不到完整路径错误发生的资源

在下面的页面上,我找到了一个描述:javax.ws.rs.NotFoundException:无法找到完整路径错误的资源

但是基本上,这个部署选项所做的是扫描应用程序的@path、@provider等注释。原因是JAX-RS将首先分别在重写的getClasses()和getSingletons()中查找类和对象。如果返回空集,则告诉JAX-RS执行扫描(根据规范)。

那么,如果我覆盖getsingletons()方法,JAX-RS就不会进行扫描了吗?是否有其他方法配置Corsfilter并启用资源扫描`?

共有1个答案

薛淳
2023-03-14

“是否有其他方法配置此CorsFilter并启用资源扫描?”

保持扫描的一种方法是实现javax.ws.rs.core.feature

import javax.ws.rs.core.Feature;
import javax.ws.rs.core.FeatureContext;
import javax.ws.rs.ext.Provider;
import org.jboss.resteasy.plugins.interceptors.CorsFilter;

@Provider
public class CorsFeature implements Feature {

    @Override
    public boolean configure(FeatureContext context) {
        CorsFilter corsFilter = new CorsFilter();
        corsFilter.getAllowedOrigins().add("*");
        context.register(corsFilter);
        return true;
    }  
}

该特性将像所有其他@provider@path一样被扫描。

@ApplicationPath("/api")
public class RestApplication extends Application {
}
 类似资料:
  • 问题内容: 包括: all Spring libs, Apache Tomcat 7.0 library 在构建路径中 但它仍然给出错误: 在“ org.sprintframework.web-3.1.0.M1.jar”中,我可以看到“ org.springframework.web.context.ContextLoaderListener”。 Google上的某个人说应该包含spring.ja

  • 发布问题 更新问题 设置问题悬赏 获取问题列表 获取一个问题详情 删除一个问题 获取用户发布的问题列表 发布问题 POST /questions 输入 字段 类型 描述 subject 字符串 必须,问题主题或者说标题,不能超过 255 字节 ,必须以 ? 结尾。(不区分全角或者半角) topics 数组 必须,绑定的话题,数组子节点必须符合 { "id": 1 } 的格式。 body 字符串

  • 问题内容: 我使用非常简单的代码返回XML 但是,出现以下错误 请帮忙。谢谢 问题答案: 运行时出现NoSuchMethodError表示你使用的库版本与生成代码所针对的版本不同。 在你的情况下,Spring是元凶。在运行时检查类路径上的内容,并确保以下各项: 版本与编译时间罐相同 如果存在多个版本,请删除不需要的版本

  • 主要内容:什么是安全函数(safe function),如何取消安全函数的限制在 VS(Visual Studio)下编译C语言程序,如果使用了 scanf()、gets()、strcpy()、strcat() 等与字符串读取或操作有关的函数,有时候VS会报错,提示该函数可能不安全,并且建议替换为带有 后缀的安全函数,如下图所示: 什么是安全函数(safe function) scanf()、gets()、fgets()、strcpy()、strcat() 等都是C语言自带

  • 主要内容:前言,粘包,拆包前言 粘包问题:一个请求里面带有多个响应,多个消息粘再一起给你发送回来; 拆包问题:一个消息拆成多个请求发送回来; 粘包 其中 一直递归调用,最终处理粘包问题核心代码 拆包 50生产者|60如何处理 有两种地方可能会发生拆包: 消息体的size 消息体 1. 消息体的size 2. 消息体

  • 问题内容: 我试图在Spring Example上发布并运行简单的Spring应用程序。 我正进入(状态 我已经安装了spring.jar,spring-webmvc.jar和所有其他所需的jar,因此不确定为什么会收到此错误。 这是我的web.xml文件 和我的Spring-servlet.xml文件 我不确定这里出了什么问题,将不胜感激。我已经遍历了springsource论坛和有关SO的其他

  • 问题内容: 我有两个值,和: 和ArrayList: 假设我将的敌人中的三个和五个添加到。每当我想更改数组内的变量时,例如: __数组中的 每个都 被更改,而不仅仅是index处的一个。 问题答案: 您每次将3个对 同一个 smallRed敌人的引用添加到arraylist。 解释; 可以被认为是一个内存地址(尽管比它复杂得多),因此您要多次添加相同的内存地址(例如,将相同的房屋地址添加到现实生活

  • 问题内容: 我有一个简单的数组: 当我使用json_encode()对数组进行编码时,我得到以下信息: 我的问题是,获得 替代的原因是什么? 问题答案: “ {}”括号指定一个对象,“ []”用于根据JSON规范的数组。从内存分配的角度来看,数组没有枚举。只是数据后面跟随着更多的数据,另一方面,对象具有带有名称的属性,并且数据已分配给这些属性,因此,要对此类对象进行编码,还必须传递正确的属性名称。