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

Quarkus:REST资源上的CORS不使用javax.ws.rs.@path(“/persons”)?

仉英朗
2023-03-14
fetch('http://localhost:8080/persons')
        .then(response => response.json())
        .then(jsonData => console.log(jsonData));
@Path("/persons")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class PersonResource ..
quarkus.http.cors=true

(或者类似,细节再多也不会更好)

JavaScript控制台输出中的结果

CORS策略阻止了如果一个不透明的响应满足您的需要,请将请求的模式设置为“no-cors”以获取禁用CORS的资源。'''

在fetch中不使用@path(“/persons”)时,不存在CORS问题(当然还有其他问题)

Windows10 Professional 64bit、64bit GraalVM CE Java11 20.2、Quarkus 1.8.1、1.8.3 Final

共有1个答案

祁鸿晖
2023-03-14

您需要添加关于CORS机制的更多细节,下面是一个适合您的示例:

quarkus.http.cors=true

并且还需要启用以下功能:

 类似资料:
  • 使用开发ReactJS应用程序http://localhost:3000和 使用javax访问Quarkus REST资源。ws。rs.@路径注释 quarkus应用程序属性包含 (或者类似的,更多的细节不会让它变得更好) JavaScript控制台输出结果 ''获取权限'http://localhost:8080/persons'从原点'http://localhost:3000“”已被CORS

  • 尝试使用@Path配置JAX-RS资源("/"), 但是,会忽略该资源并加载在资源中找到的第一个文件。 你知道如何防止这种情况并让资源发挥作用吗?清除META-INF/resources时,JAX-RS资源会正确加载。 使用:Quarkus 1.4.2。最终的 openjdk版本“11.0.6”2020-01-14 LTS openjdk运行时环境Zulu11.37 52-SA(构建11.0.6

  • 但是,试图使用@path("/“)配置JAX-RS资源时,该资源被忽略,而在resources中找到的第一个文件被加载。 有没有办法防止这种情况并允许资源工作?清除meta-inf/resources时,JAX-RS资源会正确加载。 答复:

  • 跨域资源共享 (CORS) 跨域资源共享(Cross-Origin Resource Sharing)允许WEB端的应用程序访问不属于本域的资源 配置格式 CORS配置为json字符串,类似 { "rules":[ { "id":"id1" "AllowOrigin":"http://*.example.com" //指定允许发送跨源请求的源,支持使用通配符

  • 【资源使用】页面主要展示项目运行过程中重点资源的使用情况,主要包括以下几个部分: 数据汇总 该项主要展示资源的具体使用情况,其展示数据根据资源种类的不同而不同,具体如下: 纹理 该项主要展示项目运行过程中纹理资源的 “内存峰值”、“大于1MB数量”、“RGBA32格式数量” 和 “RGB24格式数量”。其中,“内存峰值” 表示纹理资源在使用过程中的内存最大量;“大于1MB数量” 表示所检测到的纹理

  • 我有一个艰难的时间与dexGuard使它不删除我访问这种方式的资源: int resourceId=getResources()。getIdentifier(“图片”、“数组”、getActivity()。getPackageName()); 当我执行应用程序时,会出现以下异常: JAVAlang.RuntimeException:无法启动android活动。所容纳之物res.Resources$