【发布时间】:2017-01-19 14:45:09
【问题描述】:
我在一个 OSGi 环境项目中工作。我发现骆驼提供了招摇的集成。所以我用过。在使用 swagger UI 发起请求之前,它一直运行良好。
我的意思是当我把我用 camel-swagger-java 定义的 uri 放入 swagger ui 时,它可以工作。 Swagger 发现了我的 api !
但是当我想使用 swagger ui 发起请求时,我遇到了跨域请求的问题。
我找到了几个解决方案: - 第一个骆驼休息
restConfiguration().component("jetty").bindingMode(RestBindingMode.json)
.dataFormatProperty("prettyPrint", "true")
.contextPath("/").port(8080).apiContextPath("/api-doc/login").apiProperty("api.title", "Login API").apiProperty("api.version", "1.0.0-SNAPSHOT")
.apiProperty("cors", "true").apiProperty("apiContextIdListing", "true");
我已设置为真正的 cors 属性。但这并没有解决我的问题。然后经过一番搜索,我发现它可能是禁止跨域请求的码头。但是到了这一点,我还没有找到如何在 OSGi 环境(Karaf / Fellix)中配置 Jetty 来接受这种请求。
感谢您的帮助
【问题讨论】:
-
你需要开启CORS
-
在码头上?如何 ?我认为使用 .apiProperty("cors", "true") 对骆驼有好处。但是在 OSGi 上下文中使用 Jetty,我没有找到如何去做。那是我的问题:)
标签: java apache-camel jetty swagger-ui apache-karaf