我有一個路徑生成器,如下所示:駱駝休息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」; –