我使用Camel 2.14.1或2.15.0快照设置了一个简单的REST接口。
<restConfiguration bindingMode="auto" component="jetty"
host="127.0.0.1" port="8082" enableCORS="true">
在这两个版本中,启用CORS仅适用于GET请求,但不适用于POST或PUT,因为它们之前需要OPTIONS请求。但是浏览器总是会出现404错误,因为OPTIONS方法是不允许的,即使文档明确指出如果你设置enableCORS="true"
就是这种情况。
http://camel.apache.org/rest-dsl.html
访问控制 - 允许 - 方法:GET,HEAD,POST,PUT,DELETE,TRACE, 选项,连接,补丁
我也尝试通过设置十字头来手动执行此操作,但仍然没有运气。
<restConfiguration bindingMode="auto" component="jetty"
host="127.0.0.1" port="8082" enableCORS="true">
<corsHeaders key="Access-Control-Allow-Origin" value="*"/>
<corsHeaders key="Access-Control-Allow-Headers" value="Origin, Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers"/>
<corsHeaders key="Access-Control-Allow-Methods" value="GET,PUT,POST,HEAD,OPTIONS"/>
</restConfiguration>
感谢您的帮助!