KrakenD如何配置才能不修改后端返回的原始响应内容
KrakenD透传后端原始错误响应配置方案
你遇到的响应被修改问题是KrakenD默认错误处理逻辑导致的:即便配置了no-op编码,KrakenD默认会对后端返回的4xx/5xx类错误响应做自动包装,提取错误信息返回固定格式的响应体,覆盖掉后端原始返回内容。
解决方案
无需修改后端实现,只需要在对应endpoint的配置中新增disable_error_handling: true参数即可,该参数会关闭当前接口的默认错误转换逻辑,所有状态码的响应都会直接透传后端的原始内容、响应头和状态码。
修改后的完整配置片段如下:
{ "endpoint": "/mycompany/someservice/{id}", "output_encoding": "no-op", "disable_error_handling": true, "backend": [{ "url_pattern": "/someservice/{id}", "host": [ "http://host-in-our-company:8080" ], "encoding": "no-op" }] }
补充说明
如果你需要全局所有接口都透传原始错误响应,可以将disable_error_handling: true参数配置在KrakenD的全局配置层,不需要每个endpoint单独添加。
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

