首页
学习
活动
专区
圈层
工具
发布

Asp.Net Web API 2第七课——Web API异常处理

Web API中错误和异常的处理,包括以下几点:   1.HttpResponseException——HTTP响应异常   2.Exception Filters——异常过滤器   3.Registering...在默认情况下,大多数异常都被转换为一个带有状态码500的内部服务器错误的HTTP响应。 这个HTTPResponseException类型是一个特殊的类型。...ASP.NET Web API中的异常过滤器与Asp.Net MVC中的是极为类似的。然后,他们被声明在不同的命名空间中,且功能也是独立的。...特别强调一下,Asp.Net MVC中使用的HandleErrorAttribute类不会处理Web API控制器中抛出的异常。...MVC 4 Web应用程序”项目模板创建的项目,要把你的Web API配置代码被放在WebApiConfig类中,它位于App_Start文件夹: public static class WebApiConfig

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST

    状态码 状态码是非常重要的,因为只有状态码会告诉API的消费者: 请求是否如预期的成功,或者失败 如果出现了错误,谁该为这个错误负责 下面再列举一下web API会用到的状态码: 200级别,表示成功:...500级别,服务器错误: 500 - Internal server error,这表示是服务器发生了错误 回到刚才的那两个方法,默认情况下 JsonResult会返回200 OK状态码,可以去修改JsonResult...处理异常 当Action发生异常的时候,默认情况下ASP.NET Core会返回500: ? ? 但还是自己处理一下比较好,可以在Action里面使用try catch: ?...这里由于是服务器的错误,所以应该返回500状态码 Internal Server Error。 注意这里不应该返回Exception,因为这是程序的内部实现细节,再说它对客户来说也没什么用。 ?...当请求的media type不可用的时候,并且消费者不支持默认格式,这时服务器就应该返回 406 Not Acceptable 状态码。 ASP.NET Core 支持输出和输入两种格式化器。

    2.2K10

    【ASP.NET Core 基础知识】--Web API--创建和配置Web API(二)

    以下是在 Web API 中读取资源的步骤: 在控制器中添加用于读取资源的 API 端点。通过接收 GET 请求,从数据库中获取资源,并将其返回给客户端。...成功删除后,通常返回204 No Content表示操作成功,但没有返回任何内容。通过这些步骤,你就能够在ASP.NET Core Web API中成功实现删除资源的功能。...在控制器中,你可以定义返回给客户端的错误响应的格式和内容。...", title: "Internal Server Error"); } } 上述代码中,Problem方法用于返回一个标准的问题详情,其中包含错误的详细信息。..."Microsoft.Hosting.Lifetime": "Information" } } } 上述配置将默认日志级别设置为Information,而对于Microsoft命名空间

    1.5K01

    使用最小WEB API实现文件上传

    本文将详细介绍如何使用 .NET 6 和 ASP.NET Core 构建一个最小化的Web API来实现文件上传功能。...一、项目准备我们使用 ASP.NET Core 6 来搭建一个最小的 Web API 项目。...当我们在浏览器中提交一个文件上传表单时,浏览器会将文件作为一个数据部分,发送到服务器。服务器通过相应的 API 接口接收并处理这个文件。...2.2 处理上传文件的核心要点文件大小限制:为了防止大文件上传导致内存或磁盘空间的浪费,通常需要限制文件的大小。文件存储路径:在实际应用中,我们通常需要将上传的文件存储在服务器的指定目录或者云存储中。...3.3 返回结果文件上传成功后,我们返回一个包含文件路径的 JSON 响应:return Results.Ok(new { FilePath = filePath });四、文件上传的验证与错误处理4.1

    5.5K30

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    在本篇文章中,我将列举一些我在使用 ASP.NET Core Web API 构建接口服务时使用到的一些小技巧,因才疏学浅,可能会存在不对的地方,欢迎指出。   ...ASP.NET Core Web API 中如何去使用,不会做过多的详细介绍。...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...403 Forbidden 当前的资源被禁止访问 404 Not Found 找不到对应的信息 500 Internal Server Error 服务器内部错误   我们知道 HTTP 共有四个谓词方法...在 ASP.NET Core Web API 中,我们可以通过在 Action 上添加 ProducesResponseType 特性来定义接口的返回状态码。

    1.6K20

    或许是你应该了解的一些 ASP.NET Core Web API 使用小技巧

    在本篇文章中,我将列举一些我在使用 ASP.NET Core Web API 构建接口服务时使用到的一些小技巧,因才疏学浅,可能会存在不对的地方,欢迎指出。   ...ASP.NET Core Web API 中如何去使用,不会做过多的详细介绍。...因为我们在之前设置构建的 API 路由时包含了版本信息,所以在最终生成的 Swagger 文档中进行测试时,我们都需要在参数列表中添加 API 版本这个参数。...403 Forbidden 当前的资源被禁止访问 404 Not Found 找不到对应的信息 500 Internal Server Error 服务器内部错误   我们知道 HTTP 共有四个谓词方法...在 ASP.NET Core Web API 中,我们可以通过在 Action 上添加 ProducesResponseType 特性来定义接口的返回状态码。

    1.8K40

    Asp.net mvc 知多少(三)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。...由于个人技术水平和英文水平也是有限的,因此错误在所难免,希望大家多多留言指正。 本节主要讲解视图引擎及HtmlHelper的使用 Q24. ASP.NET MVC中主要的命名空间有哪些? Ans....主要有以下三个比较重要的命名空间: System.Web.Mvc - 此命名空间包含类和接口是为了支持ASP.NET Web应用程序的Mvc模式。...System.Web.Mvc.Ajax - 支持Ajax脚本。此命名空间主要是为了支持Ajax脚本已经Ajax选项设置。 System.Web.Mvc.Html – 此命名空间帮忙渲染HTML控件。...Razor WebForm MVC3后引入 最初的MVC版本就引入 位于System.Web.Razor命名空间 位于System.Web.Mvc.WebFormViewEngine命名空间 状态管理技术

    3.4K60

    从头编写 asp.net core 2.0 web api 基础框架 (1)

    当然也可以单独使用kestrel作为web 服务器, 但是使用iis作为reverse proxy还是由很多有点的: 例如,IIS可以过滤请求, 管理证书, 程序崩溃时自动重启等....)500错误....它的优点是: 部署快速, 不需要部署这里面包含的库; 节省硬盘空间, 多个应用程序都使用同一个store, 而不必每个程序的文件夹里面都部署这些库文件.  程序启动更快一些....验证成功, 但是没法访问相应的资源 404: Not Found  409: 有冲突 Conflict. 500: Internal Server Error, 服务器发生了错误....因为web api不一定返回的都是json类型的数据, 也不一定只返回一堆json(可能还要包含其他内容). 所以JsonResult并不合适作为Action的返回结果.

    2.5K70

    Asp.net web api 知多少

    REST风格的架构包含客户端和服务端。 客户端初始化请求到服务器,服务器负责处理请求并返回响应。 这些请求和响应都是围绕这些资源的表示形式进行传递。 Q2. 解释下REST原则? Ans....当您想创建一个可以使用快速传输通道的服务时,请选择WCF,如TCP,命名管道,或者甚至UDP(在WCF 4.5),并且当所有其他通道不可用时能够支持HTTP传输信道。...主要有以下区别: ASP.NET MVC 用来创建web应用返回视图和数据;但是ASP.NET WEB API 是用来创建完整的HTTP服务,仅返回数据无视图返回。...如何在ASP.NET MVC中调用 WEB API? Ans....主要的区别有以下几点: 在WEB API 路由模式中 {action}参数是可选的,但是你可以自行包含 一个 {action} 参数。在ASP.NET MVC中 {action} 参数是强制的。

    6.7K50

    C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService(二)

    使用场景:1、使用 Last-Modified 头部的条件请求当服务器支持 Last-Modified 头部时,客户端可以在请求中包含 If-Modified-Since 头部,该头部的值为之前服务器返回的最后修改时间...通过反射,你可以动态地创建对象、调用方法、获取属性和字段等,而无需在编译时知道这些信息。在 C# 中,处理反射的相关命名空间是 System.Reflection。...HttpUtility.UrlDecode:HttpUtility.UrlDecode 位于 System.Web 命名空间,是 System.Web.HttpUtility 类的一部分,它用于解码已编码的...请解释 web.config 文件中的重要节点?...web.config 文件是 ASP.NET Web 应用程序中的配置文件,其中包含了许多重要的节点,用于配置应用程序的行为、连接数据库、定义授权规则等。

    1.7K10

    【译】在 ASP.NET 和 ASP.NET Core 之间共享代码

    当我们说“相同”时,我们的意思是“相同”。如果您修复了一个项目中的错误,那么您需要相同的修复程序出现在两个站点中。确保这种行为的最简单方法之一是在两个项目中共享同一个文件。...下面的示例展示了 ShoppingCartController.cs 如何使用这两个命名空间来修复该编译器错误。...一个好的方法是创建一个部分类并将这些代码块提取到两个 Web 应用程序目标之间不同的新方法中,并使用 csproj 来控制在构建项目时包含哪些文件。...您可以共享模型 现在我们可以共享控制器,我们想要共享它们返回的模型。在许多情况下,当我们通过向 csproj 文件添加另一个 来包含它们时,这才开始起作用。...但是,如果您的模型也引用 System.Web,那么我们可以使用刚刚用于控制器的相同方法。首先更新命名空间,以便相同的类文件可以存在于两个项目中。

    6.1K20
    领券