Camel Rest DSL 响应代码

Camel Rest DSL Response Codes

我有一个如下所示的路由生成器:

.post("/myEndpoint")
    .type(MyObject.class)
    .to("bean:myListener?method=create")

我想要 return 一个 201 创建的 HTTP 响应代码,目前它 return 是一个 200 OK。

有没有办法在 RouteBuilder 中执行此操作,而无需将任何结果转发到单独的服务class,然后在 Exchange 上手动设置代码?

请参阅此处的 header 部分 http://camel.apache.org/constant.html 以设置 headers.. 您应该能够直接设置 http 响应代码和 body。

我们通过执行以下操作设法让它工作 -

.post("/myEndpoint")
    .type(MyObject.class)
    .route()
    .setHeader(Exchange.HTTP_RESPONSE_CODE,simple(HTTP_CREATED))
    .to("bean:myListener?method=create")
.endRest()