前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于从框架的体验和易用性的角度,决定对Excel的导出进行独立封装,以便于大家更易于使用,开箱即用。...Magicodes.ExporterAndImporter.Excel.AspNetCore; 3.直接使用XlsxFileResult 参考Demo如下所示: [ApiController] [Route("api...在Magicodes.IE.Excel.AspNetCore中,我们添加了自定义的ActionResult——XlsxFileResult,核心参考代码如下所示: /// ...; } public ICollection Data { get; } public async override Task ExecuteResultAsync...知识点总结 敲黑板,麻烦有空帮点点,为了德玛西亚: ASP.NET Core Web API 中控制器操作的返回类型 | Microsoft Docs Reference https://github.com
前言 总是有很多朋友咨询Magicodes.IE如何基于ASP.NET Core导出Excel,出于从框架的体验和易用性的角度,Magicodes.IE决定对Excel的导出进行独立封装,以便于大家更易于使用...Magicodes.ExporterAndImporter.Excel.AspNetCore; 3.直接使用XlsxFileResult 参考Demo如下所示: [ApiController] [Route("api...XlsxFileResult继承自ActionResult,目前支持字节数组、流和泛型集合为参数的Excel文件下载 支持传递下载文件名,参数名fileDownloadName,如不传则自动生成唯一的文件名 核心实现...在Magicodes.IE.Excel.AspNetCore中,我们添加了自定义的ActionResult——XlsxFileResult,核心参考代码如下所示: /// ...; } public ICollection Data { get; } public async override Task ExecuteResultAsync
虽然ASP.NET Web API框架采用与ASP.NET MVC框架类似的管道式设计,但是ASP.NET Web API管道的核心部分(定义在程序集System.Web.Http.dll中)已经移除了对...System.Web.dll程序集的依赖,实现在ASP.NET Web API框架中的URL路由系统亦是如此。...也就是说,ASP.NET Web API核心框架的URL路由系统与ASP.NET本身的路由系统是相对独立的。...另一个同样通过字典类型表示的只读属性DataTokens,我们应该不会感到陌生,至于通过制度属性Handler返回的HttpMessageHandler对象是组成ASP.NET Web API消息处理管道的核心...Web API管道的HttpConfiguration对象,这依赖于我们对Web API的寄宿方式,这并没有定义在ASP.NET Web API的核心框架之中。
Web API框架仅选择那些匹配请求的HTTP方法的操作,原则为: 1)指定了相应特性的操作,例如使用HttpGet特性的操作,只能匹配Get请求。...2)如果路由词典中包含关于操作(Action)的键值对,移除链表中名称和值不匹配的操作(Action)。 3)匹配操作(Action)参数与URI。...具体示例见“ASP.NET Web API编程——版本控制” public class CustomHttpControllerSelector : IHttpControllerSelector {...例:这里引用官网文档的例子 (https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api...例: 请求Url:http://localhost:45778/api/user/1982-02-01 [HttpGet] [Route("api/user/{time
第 3 章 使用 ASP.NET Core 开发微服务 微服务定义 微服务是一个支持特定业务场景的独立部署单元。它借助语义化版本管理、定义良好的 API 与其他后端服务交互。...为什么要用 API 优先 所有团队都一致把公开、文档完备且语义化版本管理的 API 作为稳定的契约予以遵守,那么这种契约也能让各团队自主地掌握其发布节奏。...遵循语义化版本规则能让团队在完善 API 的同时,不破坏已有消费方使用的 API。 作为微服务生态系统成功的基石,坚持好 API 优先的这些实践,远比开发服务所用的技术或代码更重要。...; set; } public Guid ID { get; set; } public ICollection Members { get; set;...宿主机制的实例时所需要的技术或代码上,我们在测试中需要借助 Web 宿主机制收发完整的 HTTP 消息。
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相关知识就不介绍了..., 这里主要是从头编写一个asp.net core 2.0 web api的基础框架....用来创建 Web Api的middleware: 原来的.net使用asp.net web api 和 asp.net mvc 分别来创建 web api和mvc项目....常用的Http Method有: Get, 查询, Attribute: HttpGet, 例如: '/api/product', '/api/product/1' POST, 创建, HttpPost...这一点与老.net web api 不一样, 原来的 asp.net web api 默认不适用任何NamingStrategy, 需要手动加上camelcase的转化.
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch...public ICollection Materials { get; set; } } public class ProductConfiguration : IEntityTypeConfiguration...string Description { get; set; } public ICollection Materials { get; set; }...public string Description { get; set; } public ICollection Materials { get; set; }...public string Description { get; set; } public ICollection Materials { get; set;
Project 对应多个 ProjectGroup ProjectGroup namespace LighterApi.Controller { [ApiController] [Route("api...API 显式加载导航属性。...virtual ICollection Posts { get; set; } } public class Post { public int Id { get; set; }...Blog { get; set; } } Project public virtual ICollection Groups { get; set; } ProjectController...://github.com/MINGSON666/Personal-Learning-Library/tree/main/ArchitectTrainingCamp/LighterApi 课程链接 .NET
Asp.Net Web API 导航 Asp.Net Web API第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html Asp.Net...Web API第二课——CRUD操作 http://www.cnblogs.com/aehyok/p/3434578.html Asp.Net Web API第三课——.NET客户端调用Web...如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...关于WebApiConfig类的更多信息参阅“配置ASP.NET Web API”(暂未实现) 如果你要自己托管(self-host )Web API,你必须直接在HttpSelfHostConfiguration...例如,对于一个Get请求,Web API会查找一个以“Get…”开头的动作,如“GetContact”或“GetAllContacts”等。这种约定只应用于GET、POST、PUT和DELETE方法。
public ICollection TvShows { get; set; } } } EF Core其他的约束属性请参考文档, 这里就不介绍了....建立Web Api 在Controllers文件夹下建立TvController.cs. 需要注入TvContext, 这时候聚焦到context变量上使用cmd+....所以web api 不应该把Domain Model直接暴露出去, 应该使用ViewModel或者叫Dto......建立Service 为了使用asp.net core到web api, 需要在angular客户端建立http的service. 这里我使用HttpClient....可以看到发生了错误404, angular客户端并没有找到这个api. 这是因为angular运行的是自己的web服务器端口4200, 而asp.net core也是运行自己服务器端口为5000.
GET /api/todo/1 GetById DELETE /api/todo/1 DeleteItem GET /api/todo/abc none – returns 404 PUT /api/...例如 'GET /api/todo/abc', 'abc' 实参是GetById 方法中要求的整型数据类型。...(关于测试相关讨论,可以参考Unit Testing Controllers in ASP.NET Web API)。 依赖注入 MVC 6 内置了依赖注入功能。...ComponentOne Studio for ASP.NET 是ASP.NET平台上的一整套完备的开发工具包,用于在各种浏览器中创建和设计具有现代风格的Web应用程序。...(六): 在 MVC6 中创建 Web API ASP.NET 5系列教程(七)完结篇-解读代码
Web API 的开发类似于 ASP.NET MVC 中控制器的开发,但是相对于直接使用 ASP.NET MVC 来返回 Json 对象的方式而言,Web API 封装了数据的序列化、反序列化,接口、实现都更加简单...跟 ASP.NET MVC 的 Json 序列化不同的是,Web API 使用了 Newtonsoft.Json 框架来进行序列化。...Action 匹配 Web API 框架默认是基于 Restful 架构模式的,与 ASP.NET MVC 有区别的是,它会根据 Http 请求的 HttpMethod(Get、Post、Put、Delete...例如,Web API 对于资源的 CRUD 操作,采用如下格式: get /API/models/ 查询所有实体 get /API/models/1000 查询id为1000的实体...username=hqf@qq.com&password=dsd 关于 POST 参数绑定 Web API 相对于 ASP.NET MVC,使用了新的参数绑定类。
3 HTTP动词特性 特性有HttpGet、HttpPost、HttpDelete、HttpPut、HttpHead、HttpOptions、HttpPatch,当没有限定任何动词时,不论何种请求,get...可以在Web.config的web>配置未通过验证跳转的页面: , ICollection>, IEnumerable...ASP.NET MVC4 Web编程 2.Jon Galloway/Phil Haack/Brad Wilson/K....Scott Allen,孙远帅/邹权译 ASP.NET MVC4 高级编程(第四版) 3.黄保翕,ASP.NET MVC4开发指南 4.蒋金楠,ASP.NET MVC4框架揭秘 5.https://www.asp.net
2控制器操作返回值 类型 说明 void 操作返回值为void时,Web API返回空HTTP响应,其状态码为204(无内容) HttpResponseMessage Web api会将此返回值直接转换为...Web API会将其直接转换为HTTP消息。...Web API会调用序列化器将其序列化后写入HTTP响应。...2.3返回值为内置类型或自定义类型 返回值为内置类型或自定义类型时,Web API使用格式化器序列化返回值,并将其写入HTTP消息中,响应的状态码为200。...参考: 1.https://docs.microsoft.com/en-us/aspnet/web-api/ 2.https://developer.mozilla.org/zh-CN/docs/Web
简介 这个是我自己编写的asp.net web api 2.2的基础框架,使用了Entity Framework 6.2(beta)作为ORM。...; set; } public ICollection Employees { get; set; } } public class DepartmentConfiguration...0; public T Parent { get; set; } public ICollection Children { get; set; } } }...所以我这里采用了一个主流的.net库叫AutoMapper。...LegacyStandalone.Web.Controllers.Bases { [RoutePrefix("api/Shared")] public class SharedController
Project 对应多个 ProjectGroup ProjectGroup namespace LighterApi.Controller { [ApiController] [Route("api...); return StatusCode((int) HttpStatusCode.Created, group); } [HttpGet...API 显式加载导航属性。...virtual ICollection Posts { get; set; } } public class Post { public int Id { get; set; }...Blog { get; set; } } Project public virtual ICollection Groups { get; set; } ProjectController
Model绑定是为作为目标Action的方法准备参数列表的过程,所以针对参数的描述才是Model绑定的核心。...BindingInfo { get; } 13: } ParameterDescriptor的只读属性BindingInfo表示的System.Web.Mvc.ParameterBindingInfo...; } 4: 5: public virtual ICollection Include { get; } 6: public virtual...ICollection Exclude { get; } 7: public virtual string Prefix { get; } 8: } 如果参数类型是一个复杂类型...ASP.NET MVC三个重要的描述对象:ControllerDescriptor ASP.NET MVC三个重要的描述对象:ActionDescriptor ASP.NET MVC三个重要的描述对象
REST 使用 URI 以及(GET, PUT, POST, DELETE)方法来调用Service。 比REST慢 比SOAP快 Q4. 什么是ASP.NET WEB API? Ans....它是 ASP.NET 平台的核心部分。能被MVC或者其他类型的web应用使用。同时它也可以用作独立的web服务应用程序。...WEB API 的请求映射到Http动词对应的action;MVC 的请求直接映射到对应的action name。 ASP.NET WEB API是新的框架和ASP.NET框架核心的一部分。...比如,如果你想限制一个Action仅能被HTTP Get请求访问,可以在Action上使用[HttpGet]特性即可,如下: [HttpGet] public IEnumerable...ASP.NET WEB API 路由与 ASP.NET MVC 路由有什么区别? Ans. ASP.NET MVC 与 ASP.NET WEB API 使用路由来监控传入的请求。
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com...如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routing(路由)与 MVC 非常类似。...如果你在 ASP.NET 里使用 Web API,路由表会定义在 Global.asax 档案中。...例如,以下的 Get 方法会对应至 GET 请求: [HttpGet] public HttpResponseMessage Get(int id)...Web API Attribute based routing in ASP.NET Web API Domain based routing with ASP.NET Web API Magical
其中一位园友提到了说可以使用MVC的ModelState,因为之前通常都在Web项目中用没在Api项目用过,想想Api方法接收的多参数都封装成了一个实体类,独立于数据Model层,这样其实很方便用ModelState...我们都知道在MVC中使用ModelState实现表单验证非常简单,借助jquery.validate.unobtrusive这个插件就能轻松的在页面上输出错误信息,详细的介绍可以参考这篇文章《[Asp.net...MVC]Asp.net MVC5系列--在模型中添加验证规则》。...] { get; set; } public ICollection Keys { get; } public ICollection Values...关于模型是怎么验证的错误信息是怎么绑上去的,看以看看Artech的Model验证系统运行机制是如何实现的?,超详细的解说。好了,来龙去脉都摸清楚了,那就开始码代码,主要就是手动把错误信息抓出来。