首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Asp.Net Web API 2第五课——Web API路由

如果你熟悉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

1.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

Asp.Net Web API(三)

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

1.7K50

Asp.Net Web API 2第十四课——Content Negotiation(内容协商)

前言 阅读本文之前,您也可以到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格式化器。

78510

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

Configure方法是asp.net core程序用来具体指定如何处理每个http请求, 例如我们可以让这个程序知道我使用mvc来处理http请求, 那就调用app.UseMvc()这个方法就行....用来创建 Web Apimiddleware:  原来.net使用asp.net web apiasp.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等格式.

2K70

Contact Manager Web API 示例CRUD 操作

联系人管理器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处理

89690

Asp.net web api 知多少

当您要通过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 使用路由来监控传入请求

4.8K50

Asp.net MVC 之 Contorllers(一)

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"/>     只要应用程序收到一个配置中匹配

1K70

Http Server API路由请求web程序

引言 接上文,容器内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主机,端口和方案部分完全匹配)是最佳匹配

84230

Visual Studio 2012 中ASP.NET Web API

然后还有更轻量级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

3.2K80

Web API--入门--(一)ASP.NET Web API 2(C#)入门

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帮助页面。我正在使用本教程空模板,因为我想显示没有MVCWeb API。一般来说,你不需要知道ASP.NET MVC来使用Web API。...例如,要获得ID为5产品,URIapi/products/5。 有关Web API如何将HTTP请求路由到控制器方法更多信息,请参阅ASP.NET Web API路由。...另一个有用工具是Fiddler,一个Web调试代理。您可以使用Fiddler查看您HTTP流量,还可以编写HTTP请求,从而可以完全控制请求HTTP头。

4.2K10

使用ASP.NET Core 3.x 构建 RESTful API - 3.2 路由和HTTP方法

ASP.NET Core 3.x 路由 路由机制会把一个请求URI映射到一个Controller上面的Action,所以当你发送一个HTTP请求时候,MVC框架会解析这个请求URI,并尝试着把它映射到一个...基于约定路由,例如这两种: ? 这种方式更适合于服务器端Web应用程序。 而针对Web API使用基于属性路由更加适合: ?...HTTP 方法 不同动作可以作用于相同资源URI,例如获取一个公司(api/company/3)和删除一个公司(api/company/3)URI就是一样。...这里我们使用HTTPGET方法,如果想获取所有的公司资源,那么请求路径是 api/companies;如果想获取符合查询条件公司资源,那么请求里就需要一些参数,通常使用查询字符串(query string...如果有多个查询参数,它们之间使用 & 符号分隔开。 当搜索资源工作结束后,GET请求会返回匹配该路径(包括参数部分)资源。 DELETE 需求:删除一个公司 需求图解: ?

1.2K10

通过扩展让ASP.NET Web API支持W3CCORS规范

ASP.NET Web API支持JSONP和W3CCORS规范是解决“跨域资源共享”两种途径,在《通过扩展让ASP.NET Web API支持JSONP》中我们实现了前者,并且在《W3CCORS...目标Action方法只会在处理真正跨域资源请求过程中才会执行,但是对于采用“OPTIONS”作为HTTP方法预检请求,根本找不到匹配目标Action方法。...为了能够有效地应付浏览器采用预检机制,我们只能在ASP.NET Web API消息处理管道级别实现对提供资源授权检验和对CORS响应报头添加。...从上面给出请求和响应内容可以确定Web API调用采用是“简单跨域资源请求”,所以并没有采用“预检”机制。...在ASP.NET MVC应用用户调用Web APIView中,针对Ajax请求调用Web APIJavaScript程序被改写成如下形式:我们在发送Ajax请求之前利用setRequestHeader

2.4K90

揭秘Windows10 UWP中httpclient接口

概述 作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用httpweb服务或其他服务端通讯时,有多个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 APIAPI版本。...NetworkCredential(myUsername, myPassword); Windows.Web.Http: 对于Windows.Web.Http API,默认情况下,如果发出请求是一个资源请求

1.3K30

揭秘Windows10 UWP中httpclient接口

概述 作为一个Universal Windows Platform (UWP)开发者,如果你尝试使用httpweb服务或其他服务端通讯时,有多个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 APIAPI版本。...NetworkCredential(myUsername, myPassword); Windows.Web.Http: 对于Windows.Web.Http API,默认情况下,如果发出请求是一个资源请求

1.5K40

Asp.net mvc 知多少(二)

该书主要分为两部分,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格式。 例如,资源通常包含子资源,像客户拥有订单,电影有演员,书籍有作者等。

2K91
领券