我有一个路径生成器,如下所示:骆驼休息DSL响应代码
.post("/myEndpoint")
.type(MyObject.class)
.to("bean:myListener?method=create")
我想这返回201创建HTTP响应代码,目前其返回200 OK。
有没有办法在RouteBuilder中执行此操作,而无需将任何结果转发到单独的服务类上,然后在Exchange上手动设置代码?
我有一个路径生成器,如下所示:骆驼休息DSL响应代码
.post("/myEndpoint")
.type(MyObject.class)
.to("bean:myListener?method=create")
我想这返回201创建HTTP响应代码,目前其返回200 OK。
有没有办法在RouteBuilder中执行此操作,而无需将任何结果转发到单独的服务类上,然后在Exchange上手动设置代码?
我们设法得到它做的工作如下 -
.post("/myEndpoint")
.type(MyObject.class)
.route()
.setHeader(Exchange.HTTP_RESPONSE_CODE,simple(HTTP_CREATED))
.to("bean:myListener?method=create")
.endRest()
您应该可以在不使用Java代码的情况下在路由生成器中设置http响应代码头。
请参阅标题部分http://camel.apache.org/constant.html设置标头..您应该能够直接设置http响应代码和正文。
什么是完全合格的包'HTTP_CREATED'? –
这只是我们定义的一个常量,例如 protected static final String HTTP_CREATED =“201”; –