Leo*_*nce 4 rest apache-camel fuseesb
我正在使用驼峰REST-DSL [在camel文档]组件中开发REST服务.我成功地发送了快乐路径的JSON请求并使用(Rest-DSL和camel servlet)组合获得相同的响应.现在,当我们继续前进时,客户端可能会发送没有足够值或无效有效请求的Rest Service请求,现在我正在寻找在请求无效时从REST DSL发送400状态代码作为响应的方法.
请告知实现此目的的方法.
小智 8
我假设您正在使用自定义处理器或类似的东西进行验证.如果要发送HTTP错误代码,只需添加标题Exchange.HTTP_RESPONSE_CODE.
例如:exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,400);
行为可能取决于您使用的引擎.正如文档所说,它应该与servlet引擎一起使用:
小智 6
正如Pierre-Alban所建议的那样,您可以验证处理器或服务类中的有效负载,并在处理器中设置正确的响应代码和消息.
另一种方法是从validator方法抛出异常,让路由构建器处理该异常.像这样的东西:
onException(ValidationException.class)
.handled(true)
.setHeader(Exchange.HTTP_RESPONSE_CODE, constant(400))
.setHeader(Exchange.CONTENT_TYPE, constant("text/plain"))
.setBody(exceptionMessage());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5703 次 |
最近记录: |