创建一个Web API项目 第一步,创建以下项目 ? 当然,你也可以创建一个Web API项目,利用 Web API模板,Web API模板使用 ASP.Net MVC提供API的帮助页。...Web API中,控制器就是一个处理HTTP请求的对象。...URI中包含查询字符串,这个Web API试图在控制器方法的参数中来匹配查询字符串。...位置:当服务端创建一个资源时,它应该在响应的Location标头中包含这个资源的URI。 ASP.NET Web API使它容易操作HTTP响应消息。...API就能够将其与PUT请求相匹配。
如果你熟悉Asp.Net MVC,Web API的路由与Asp.Net MVC的路由是非常类似的。这主要的区别就是Web API使用的是HTTP方法,而不是URI路径来选择Action。...在这个模版中,“api”是一个文字式路径片段,而{controller}和{id}则是占位符变量。 当Web API框架接收一个HTTP请求时,它会试图根据路由表中的一个路由模板来匹配其URI。...如果无路由匹配,客户端会接收到一个404(未找到)错误。...例如,以下URI与这个默认路由的匹配: /api/contacts /api/contacts/1 /api/products/gizmo1 然而,以下URI不匹配,因为它缺少“api”片段: /contacts...的GET和HEAD方法(这个HEAD没测试过) 第二个方法:WebDAV方法(基于Web的分布式著作与版本控制的HTTP方法,是一个扩展的HTTP方法 MKCOL是隶属于WebDAV的一个方法,它在URI
Routing Tables路由表 在Asp.Net Web API中,一个控制器就是一个处理HTTP请求的类,控制器的public方法就被叫做action方法或简单的Action。...当Web API接收到一个请求的时候,它将这个请求路由到一个Action。 注意:Web API的路由与Asp.Net MVC的路由是非常相似的。...当Web API框架接收到一个HTTP请求时,它会试图根据路由表中的一个路由模板来匹配其URI。如果无路由匹配,客户端会接收到一个404(未找到)错误。...而且,它会排除特殊名称的方法(构造器,事件,操作符,重载符等),以及集成自ApiController的类方法 HTTP Methods Web API框架只会选择与请求的HTTP方法匹配的Action...在这种背景下,Action选择算法如下 创建该控制器中与HTTP请求方法匹配的所有Action的列表 如果路由字典有Action条目,移除与该条目值不匹配的Action 试图将Action参数与该URI
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 Web API如何把一个HTTP请求路由到控制器的一个特定的Action上。...defaults: new { category = "all" } ); 这个URI“http://localhost/api/products”与这个路由是匹配的。...在这种背景下,动作选择算法如下: 1.创建该控制器中与HTTP请求方法匹配的所有动作的列表。 2.如果路由字典有“action”条目,移除与该条目值不匹配的动作。
如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routing(路由)与 MVC 非常类似。...当 Web API Framework 接收到一个 HTTP 请求,它会去尝试比对 URI 对路由表的路由样板之一, 如果没有符合的路由,Client 会收到一个 404 错误。...例如,以下 URI 会符合默认路由: · /api/contacts · /api/contacts/1 当发现一个符合的路由,Web API 会选择 controller 与 action: · 寻找...· 寻找 action,Web API 查看 HTTP 方法,然后查看 action,哪一个名称的开始与是 HTTP 方法名称。...在一个 RESTful API,你应该避免在 URI 使用动词(verbs),因为 URI 应该是定义资源而不是action。
或许大家手边的.NET系统整合都还是使用WCF(甚至Web Service)进行跨主机沟通,但是当微软在ASP.NET MVC 4 Beta里也开始推广REST架构的ASP.NET Web API。...如果没有先了解 RESTful,那接下去的内容还真有点硬,像是专业名词,例如,你在 ASP.NET Web API 文件中可以看到大量的 Resource (资源) 这个单字,URI 我还能理解,跟 Resource...REST 谈论一件非常重要的事,如何正确地使用 Web标准,例如,HTTP 和 URI。想要了解 REST 最好的方式就是思索与了解 Web 及其工作方式。...API) 是一个使用 HTTP 并符合 REST 原则的 Web 服务。...通过 RESTful 我们可以简单 URI 来定义资源并和 HTTP 方法配合使用。
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web...本文将考察Web API如何使用Accept和Accept-Charset报头。(目前,还没有对Accept-Encoding或Accept-Language的内建支持。)...Serialization——序列化 如果Web API控制器返回一个CLR类型的响应,(请求处理)管线会对返回值进行序列化,并将其写入HTTP响应体。...首先,格式化器必须能够对类型进行序列化,这是通过MediaTypeFormatter.CanWriteType来检验的。 其次,内容协商器要考查每个格式化器,并评估此格式化器与HTTP请求的匹配好坏。...如果未找到匹配,内容协商器会尝试匹配请求体的媒体类型(有请求体时)。例如,如果请求含有JSON数据,内容协商器会找到JSON格式化器。
Configure方法是asp.net core程序用来具体指定如何处理每个http请求的, 例如我们可以让这个程序知道我使用mvc来处理http请求, 那就调用app.UseMvc()这个方法就行....用来创建 Web Api的middleware: 原来的.net使用asp.net web api 和 asp.net mvc 分别来创建 web api和mvc项目....这种基于属性配置的路由可以配置Controller或者Action级别, uri会根据Http method然后被匹配到一个controller里具体的action上....这一点与老.net web api 不一样, 原来的 asp.net web api 默认不适用任何NamingStrategy, 需要手动加上camelcase的转化....application/xml等等 如果设定的格式在web api里面没有, 那么web api就会使用默认的格式. asp.net core 默认提供的是json格式, 也可以配置xml等格式.
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com...,有两种资源类型( resource types): URI 资源类型 URI 说明 /api/contacts 列出所有联系人 /api/contacts/id 一位联系人 HTTP 方法 HTTP...新增资源 在 ASP.NET Web API,你能在 Model 使用强型别 CLR 对象,他们将会自动序列化为 XML 或 JSON 给 Client。...默认,ASP.NET Web API Framework 会从请求主体 (request body)里的 route 与 复合(complex) 型别来取得简易的参数类型。...CRUD 操作总结 在使用 ASP.NET Web API Framework 时,你能发现与 HTTP/1.1 规范有很大关连性,以前较很少关心与了解的内容,例如,PUT、DELETE、POST的处理
当您要通过HTTP创建面向资源的服务时选择WEB API,因为其可以使用完整的 HTTP的特性(如URI,请求/响应头,缓存,版本控制,各种内容格式)。...WEB API 的请求映射到Http动词对应的action;MVC 的请求直接映射到对应的action name。 ASP.NET WEB API是新的框架和ASP.NET框架核心的一部分。...因此WEB API也可以 与ASP.NET一起使用以及作为独立的服务层。...您可以在单个项目中混合使用WEB API和MVC控制器来处理高级AJAX请求并以JSON,XML或任何其他格式返回数据,并构建完整的HTTP服务。通常,这将是WEB API自承载。...ASP.NET WEB API 路由与 ASP.NET MVC 路由有什么区别? Ans. ASP.NET MVC 与 ASP.NET WEB API 使用路由来监控传入的请求。
与Web Forms不同,ASP.NET MVC是由各个层的代码连接在一起的,这些层次之间既不是相互交叉,也不是单一一坨的模块。...ASP.NET运行时环境没有限制我们只能调用特定位置或者文件的资源。通过写一个专门的HTTP处理程序,并绑定到URL,我们就可以使用ASP.NET响应一个非依赖于物理文件的请求执行代码。...在这方面,ASP.NET MVC是设计来处理更通用的URI,而ASP.NET Web Forms被设计来处理位置识别物理资源。...我们从最基本的ASP.NET Web Forms应用程序开始。 定义辨认URLs的语法 请求的URLs不需要匹配服务器端的物理文件。第一步列出应用程序有意义的URLs。...type="MvcEmule.Components.MvcEmuleHandler"/> 只要应用程序收到一个与配置中匹配的
引言 接上文,容器内web程序一般会绑定到http://0.0.0.0:{某监听端口}或http://+:{某监听端口},以确保使用容器IP可以访问到web应用。...UrlPrefix中的主机元素,会向系统组件Http Server API注册不同的路由桶,由Http Server API将接收的请求路由到合适的web程序。...将会匹配尚未与以上强通配符、显式或IP绑定的弱通配符匹配的任意主机名, 此主机元素可以用作默认的catch-all,也可以用于指定URL名称空间的较大部分,而不必使用许多UrlPrefixes Http...Server API维护了一张路由表,决定哪一个应用程序接收传入请求,这张路由表是从预留数据库中构建的,当新产生一个注册项或预留项,将会被放进与特定主机元素相关的路由桶 路由桶优先级 当多个web程序监听的...UrlPrefix有重叠时,Http Server API会根据注册的1-->4路由桶依次匹配,路由桶中UrlPrefix的相对URI部分中最长的匹配(假设URL的主机,端口和方案部分完全匹配)是最佳匹配
然后还有更轻量级的RESTful web 服务或"Web API",它们使用 JSON,XML,展示了所有的好东西和HTTP 规范的稳定性。...WCF 过得好好的, ASP.NET 也如此,每种技术都有使用其的理由。正如这篇文章说得好, "SOAP的世界与HTTP 服务的世界是完全不同的。...SOAP 允许我们将我们的服务所需的所有知识放在信息本身中",而"您可以使用 [Web API] 来创建只使用标准HTTP 概念 (URI 和动词)的HTTP服务,和创建使用更高级的 HTTP功能的服务...Old JSON) 服务,你能使用ASP.NET Web API做到这两点。...以上内容来自:微小的开心功能第2部分-Visual Studio 2012 中的ASP.NET Web API MVC4 WebAPI(一) MVC4 WebAPI(二)——Web API工作方式 http
ASP.NET Web API是在.NET Framework之上构建Web API的框架。在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...本教程中使用的软件版本 Visual Studio 2013 Web API 2 创建一个Web API项目 在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...Web API模板使用ASP.NET MVC提供API帮助页面。我正在使用本教程的空模板,因为我想显示没有MVC的Web API。一般来说,你不需要知道ASP.NET MVC来使用Web API。...例如,要获得ID为5的产品,URI为api/products/5。 有关Web API如何将HTTP请求路由到控制器方法的更多信息,请参阅ASP.NET Web API中的路由。...另一个有用的工具是Fiddler,一个Web调试代理。您可以使用Fiddler查看您的HTTP流量,还可以编写HTTP请求,从而可以完全控制请求中的HTTP头。
ASP.NET Core 3.x 的路由 路由机制会把一个请求的URI映射到一个Controller上面的Action,所以当你发送一个HTTP请求的时候,MVC框架会解析这个请求的URI,并尝试着把它映射到一个...基于约定的路由,例如这两种: ? 这种方式更适合于服务器端的Web应用程序。 而针对Web API,使用基于属性的路由更加适合: ?...HTTP 方法 不同的动作可以作用于相同的资源URI,例如获取一个公司(api/company/3)和删除一个公司(api/company/3)的URI就是一样的。...这里我们使用HTTP的GET方法,如果想获取所有的公司资源,那么请求路径是 api/companies;如果想获取符合查询条件的公司资源,那么请求里就需要一些参数,通常使用查询字符串(query string...如果有多个查询参数,它们之间使用 & 符号分隔开。 当搜索资源的工作结束后,GET请求会返回匹配该路径(包括参数部分)的资源。 DELETE 需求:删除一个公司 需求图解: ?
让ASP.NET Web API支持JSONP和W3C的CORS规范是解决“跨域资源共享”的两种途径,在《通过扩展让ASP.NET Web API支持JSONP》中我们实现了前者,并且在《W3C的CORS...目标Action方法只会在处理真正跨域资源请求的过程中才会执行,但是对于采用“OPTIONS”作为HTTP方法的预检请求,根本找不到匹配的目标Action方法。...为了能够有效地应付浏览器采用的预检机制,我们只能在ASP.NET Web API的消息处理管道级别实现对提供资源的授权检验和对CORS响应报头的添加。...从上面给出的请求和响应内容可以确定Web API的调用采用的是“简单跨域资源请求”,所以并没有采用“预检”机制。...在ASP.NET MVC应用用户调用Web API的View中,针对Ajax请求调用Web API的JavaScript程序被改写成如下的形式:我们在发送Ajax请求之前利用setRequestHeader
概述 作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用http与web服务或其他服务端通讯时,有多个API可以选择。...在未来的版本,也会加强支持System.Net.Http在UWP中的特性。 是否考虑写跨平台的.NET代码(跨UWP/ASP.NET 5/IOS和Android)?...如果需要,那使用System.Net.Http API。它可以让你写的代码复用在其他.Net平台上,比如ASP.Net 5和.NET桌面平台应用。...这个处理器场景下,最好能避免使用耗时的同步操作。 关于链式处理概念的详细信息,可以看Henrik Nielsen的这篇博客,(注意文章参考的是ASP.NET Web API的API版本。...NetworkCredential(myUsername, myPassword); Windows.Web.Http: 对于Windows.Web.Http API,默认情况下,如果发出的请求是一个资源请求
该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。...在运行时,路由引擎使用路由表去匹配传入的请求的Url,根据路由表定义的Url格式与传入的Url格式进行匹配。可以在Application_Start 事件中注册一个或多个Url格式到路由表中。...当路由引擎在路由表中找到一个与传入的Url请求匹配的路由记录,路由引擎会转发请求到对应的Controller、Action中。如果没有匹配的记录,则返回404。 大致处理流程如下图: ? Q16....ASP.NET MVC5 、WEB API 2 支持的一种新路由的方式,叫做attribute routing(特性路由)。...基于约定的路由一般用来支持确定的URI格式,常见于RESTful APIs。但是通过特性路由相对来说更加简单的去定义URI格式。 例如,资源通常包含子资源,像客户拥有订单,电影有演员,书籍有作者等。
领取专属 10元无门槛券
手把手带您无忧上云