我正在使用 Camel REST-DSL [in camel documentation] 组件开发 REST 服务。我成功地发送了对快乐路径的 JSON 请求,并使用(Rest-DSL 和 Camel servlet)组合获得了相同的响应。现在,随着我们的前进,客户端可能发送的REST服务请求的值不足或无效的有效请求,现在我正在寻找在请求无效时从REST DSL发送400状态代码作为响应的方法。

请告知实现这一目标的方法。

最佳答案

我假设您正在自定义处理器或类似的东西中进行验证。如果您想发送 HTTP 错误代码,只需添加标题 Exchange.HTTP_RESPONSE_CODE。

例如:exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 400);

该行为可能取决于您使用的引擎。正如文档所述,它应该与servlet引擎一起工作:

  • https://cwiki.apache.org/confluence/display/CAMEL/SERVLET#SERVLET-MessageHeaders
  • https://cwiki.apache.org/confluence/display/CAMEL/HTTP#HTTP-MessageHeaders
  • 关于rest - Camel rest-dsl 发送 400 状态码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26631697/

    10-16 15:55