您需要创建一个自定义的客户端
,以便尽早截获响应
,从而更改响应状态,而不调用ErrorDecoder
。最简单的方法是在现有客户机上创建包装器,并创建一个新的200
状态的响应
。下面是使用Feign的ApacheHttpClient
时的一个示例:
public class ClientWrapper extends ApacheHttpClient {
private ApacheHttpClient delegate;
public ClientWrapper(ApacheHttpClient client) {
this.client = client;
}
@Override
public Response execute(Request request, Request.Options options) throws IOException {
/* execute the request on the delegate */
Response response = this.client.execute(request, options);
/* check the response code and change */
if (response.status() == 400) {
response = Response.builder(response).status(200).build();
}
return response;
}
}
这个定制的客户端可以在任何你需要的假客户端上使用。
当程序出现错误或者异常时,我们一般会希望在开发时输出报错信息,在生产环境时隐藏详细的信息。 在 imi 中,提供了 Http 服务的错误异常默认处理器支持。 默认 Http 错误处理器:Imi\Server\Http\Error\JsonErrorHandler 指定默认处理器 配置文件中: return [ 'beans' => [ 'HttpErrorHan
您需要修复网页抛出的异常和在JavaScript中调试错误。 如果你能得到页面异常和JavaScript错误的细节,在实际工作中非常有用 。当页面抛出异常或脚本产生错误时,Console(控制台)面板会提供明确的可靠信息,以帮助您找到并解决问题。 在Console(控制台)面板中,您可以跟踪异常及跟踪导致异常的执行路径,显式地或隐式地捕获它们(或忽略它们),甚至可以设置错误处理程序来自动收集和处理
我在服务器上使用GraphQL和mongoose。 当发生验证错误时,GraphQL突变发送状态代码为200的响应。在客户端,响应如下所示: 我想使用阿波罗客户端突变promise的功能访问验证错误。类似: 如何做到这一点?
出现运行时异常--这应该会导致事务回滚。 我希望能够截获异常,并回复一个真正的消息(而不是异常)给客户机。因此,我开始实现一个错误处理程序: 其中: null null null 如何配置camel,既防止事务中的消息刷新,又能够将异常转换为已处理的错误消息?
创建一个 API 的时候处理错误是很痛苦的。为了避免手动的创建错误响应,你可以简单的抛出一个继承了 Symfony\Component\HttpKernel\Exception\HttpException 的异常,API 会自动的为你处理响应。 这里是 Symfony 内置的异常列表。 异常 状态码 Symfony\Component\HttpKernel\Exception\AccessDeni
我有一个ASP.NET Core1.0Web API应用程序,并试图弄清楚如果我的控制器调用的函数出错,如何将异常消息传递给客户端。 我确实看到了一些使用的文档,但是为了使用它,我必须安装compat shim。在Core1.0中有没有一种新的方法来做这些事情? 这是我一直在尝试的垫片,但它不起作用: 当抛出时,我查看客户端,在内容中找不到我正在发送的消息。