.net - Flurl.Http 自定义错误

标签 .net json node.js http flurl

我正在制作一个客户端向服务器发出请求的应用程序。服务器使用 node.js 编写,客户端使用 flurl.Http 编写。

当服务器上的请求失败时,创建自定义错误消息总是有用的。像这样的:

request.respond(500, { message: "targetid is mandatory" });

但是,这会在客户端调用 FlurlHttpException,并且响应中的 JSON 信息会丢失。

从服务器收到不成功的响应码时,如何接收这个 JSON 信息?

最佳答案

由于 Flurl 专注于以尽可能少的击键次数从 URL 获取反序列化的响应正文,因此经常被问到如何处理错误响应,其中正文几乎总是采用与成功响应不同的形状。这就是为什么 Flurl defaults抛出非 2XX 响应,因此您可以像这样处理错误响应:

try {
    var t = await "http://api.com".GetJsonAsync<T>();
}
catch (FlurlHttpException ex) {
    var error = await ex.GetResponseJsonAsync<TError>();
}

有一些变化:

ex.GetResponseStringAsync();
ex.GetResponseJsonAsync(); // returns a dynamic

关于.net - Flurl.Http 自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27686254/

相关文章:

.net - 使用 Angular 2 和 WebAPI 进行社交登录

.net - 是否有可能获得相当于 .net 对象的 'memory address' 的值?

c# - .NET 垃圾收集器在单独的线程中?

javascript - 带有双引号表达式的 js_string

javascript - AngularJS ngRoute 路由未正确注入(inject)我的页面?

node.js - sails :How to join two different models using waterline

c# - 计算数组中相邻元素的和积的 LINQ 版本

c# - 在 C# 中反序列化嵌套数组 JSON 返回空值

php - 简单的 JSON 解析

javascript - 将逻辑与 Express 路由器分离并仍然访问 Express 功能