我遇到了Apache camel REST API CORS的问题,它是GET请求的工作,但不是其他方法。
restConfiguration()
.component("servlet")
.bindingMode(RestBindingMode.auto)
.enableCORS(true)
.corsAllowCredentials(true);
实际Rest终点实现
from("rest:post:endpoint1")
//.setHeader("Access-Control-Allow-Credentials",constant( true))
.unmarshal().json(JsonLibrary.Jackson, request.class)
.process(processor);
当添加头到请求的其余部分时,它为GET请求工作。
2条答案
按热度按时间9njqaruj1#
您可能需要指定更多内容,例如
这可以通过使用adhoc HTTP头来完成:
gudnpqoy2#
旧的Rest组件可能不支持它,因为它仅用于基本用例。
对于像CORS这样的高级功能,您需要使用Rest DSL定义您的休息端点,如下所示:
使用完全相同的Rest配置(
enableCORS(true)
),但使用Rest DSL定义的端点,无论使用何种HTTP方法,CORS HTTP头都会自动添加到HTTP响应中。以下是使用Rest DSL定义的POST端点的HTTP响应标头:
以下是使用旧的Rest组件定义的POST端点的HTTP响应头: