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

Asp.Net Web API 2第八课——Web API 2属性路由

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html   路由就是Web API如何把...Web API支持一种新路由类型,被叫做属性路由。顾名思义,属性路由是用属性来创建路由。在你Web API属性路由可以让你更好控制URI。你能容易创建描述资源阶层URIs。   ...2、启用属性路由   3、添加路由属性   4、路由前缀   5、路由约束   6、可选URI参数和默认值   7、路由名称   8、路由顺序 1、为什么使用属性路由   第一个Web API版本使用是基于公约路由...在大多数情况下,除非在你管道中有自定义模型绑定,这两种表现是等价。 7、路由名称  在Web API,每个路由都有一个名称。路由名称被用于生成链接,你能在HTTP响应包含一个链接。...本文参考链接http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

84440

Asp.Net Web API(三)

Routing Tables路由表     在Asp.Net Web API,一个控制器就是一个处理HTTP请求类,控制器public方法就被叫做action方法或简单Action。...当Web API接收到一个请求时候,它将这个请求路由到一个Action。         注意:Web API路由与Asp.Net MVC路由是非常相似的。...这种风格路由类似于Asp.Net MVC,而且可能与RPC式API接近。   你也可以通过使用ActionName注解属性来覆盖动作名。...在Web API,通常约定是忽略{Action}。 Defaults(默认值)   如果你提供默认值,那么这个路由匹配缺少这些片段URI。...4.忽略用[NonAction]注解属性标注Action。     第3步可能会rang人困扰。其基本思想是,可以从URI,或请求体,或一个自定义绑定来获取参数值。

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

Asp.Net Web API 2第十五课——Model Validation(模型验证)

://www.asp.net/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api 当客户端发送数据给你...Data Annotations——数据注解  在ASP.NET Web API,你可以使用System.ComponentModel.DataAnnotations命名空间注解属性来设置模型属性验证规则...假设客户端发送了一个带有下列JSON表示POST请求: { "Id":4, "Price":2.99, "Weight":5 } 你可以看出,客户端并未包含被标记成requiredName属性。...例如: {"Id":4, "Name":"Gizmo", "Color":"Blue"} 此处,JSON包含了Product模型存在属性(“Color”)。...HttpError类在RC版(指Web API预览版)无效。 你可以将此过滤器全局性地运用于所有Web API控制器。

68820

Asp.Net Web API 2第六课——Web API路由和动作选择

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上。...在Web API,通常约定是忽略“{action}”。 Defaults(默认值) 如果你提供默认值,那么这个路由将匹配缺少这些片段URI。...c:选择这样一个action,在列表每个参数在URI中有一个匹配。   d:如果满足这些条件动作不止一个,选用参数匹配最多一个。 4.忽略用[NonAction]注解属性标注动作。

92120

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

Routing Tables路由表   在Asp.Net Web API,一个控制器就是一个处理HTTP请求类,控制器public 方法被叫做action方法或者简单Aciton。...更多信息参阅“自托管Web API"。(暂未实现)   路由表每一个条目都包含一个路由模板。这个Web API默认路由模版是"api/{controller}/{id}"。...在这个模版,“api”是一个文字式路径片段,而{controller}和{id}则是占位符变量。   当Web API框架接收一个HTTP请求时,它会试图根据路由表一个路由模板来匹配其URI。...例如,对于一个Get请求Web API会查找一个以“Get…”开头动作,如“GetContact”或“GetAllContacts”等。这种约定只应用于GET、POST、PUT和DELETE方法。...另外要注意,POST请求是失败,因为该控制器未定义“Post…”方法。 Routing Variations路由变化  上一节描述了ASP.NET Web API基本路由机制。

1.2K50

用ASP.NET Core 2.0 建立规范 REST API -- 预备知识

例如这两个查询: POST http://host/api/authors POST http://host/api/authors/{id} 2级, 动词: 正确使用了HTTP动词, 状态码也正确使用了...Web API, 但并不是直接支持RESTful Web API....这个把Http请求绑定到参数过程叫做实体绑定。 例如: ? 其中id参数是定义在路由里,而name参数在路由里没有,但是仍然可以从查询参数把name参数映射出来。...我们可以通过几种方式为其传递类型为Person参数。 可以使用查询参数:/api/people?id=1&name=Dave 如果POST Json数据: ? ?...客户端浏览器可能在请求Accept Headers里提供了多种格式,但是ASP.NET Core MVC 默认是忽略浏览器Accept Header,并使用标准输出格式。

1.6K00

快速入门系列--WebAPI--03框架你值得拥有

所谓ASP.NET WebAPI,其核心概念就是构建REST风格Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前SOAP和XML-RPC架构风格有很大不同。...http://blog.darkthread.net/post-2014-06-07-go-to-angularjs.aspx 说到这,我还想到了学习一个困惑,那么多IOC框架到底哪个相对更好一些...由于很多内容比较相似,将进行简单介绍,不过框架异步编程模型用很多,值得学习参考。下图简单表述了框架对请求处理过程: ?     ...框架通过单例提供HttpControllerHandler对象,多个HttpWebRoute共享对象,并且它将创建右侧ASP.NET Web API处理管道,通过调用BeginProcessRequest...: 类型 简介 HttpMessageHandler 核心类,针对请求处理实现在SendAsync,针对响应处理通过返回类型Task完成 HttpRequestMessage

2K90

ASP.NET Web API路由系统:路由系统几个核心类型

虽然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核心框架之中。

9.5K110

请求走私利用扩展

/web-security/request-smuggling/browser/cl-0/lab-cl-0-request-smuggling 靶场介绍:此靶场易受CL.0请求走私攻击且后端服务器在对某些端点请求中会忽略...,则此端点不会受到攻击,如果对第二个请求响应与我们期望走私前缀相匹配,则表面后端服务器会忽略请求头中"Content-Length" POST /resources/images/blog.svg...2: GET /capture-me HTTP/1.1 Host: YOUR-LAB-ID.h1-web-security-academy.net 回到浏览器刷新博客文章并在评论可以看到已成功输出"GET.../capture"请求开始 Step 5:随后打开一个单独Chrome浏览器示例,转到漏洞利用服务器,打开浏览器开发人员工具,转到Console选项卡使用fetch()API复制上一节攻击,在这里我们有意触发...,随后将整个脚本包装在HTML<script>标记,存储该漏洞并单击"传递给受害者" 刷新博客文章并确认您已经捕捉到受害者用户请求开始 重复此攻击调整嵌套"POST/en/POST/comment

13810

REST 入门介绍

dudu HttpClient + ASP.NET Web API, WCF之外另一个选择 讨论的人很多,说明RESTful API也开始在.NET 社区得到重视,其中回复有很多对REST不正确观点...或许大家手边.NET系统整合都还是使用WCF(甚至Web Service)进行跨主机沟通,但是当微软在ASP.NET MVC 4 Beta里也开始推广REST架构ASP.NET Web API。...如果没有先了解 RESTful,那接下去内容还真有点硬,像是专业名词,例如,你在 ASP.NET Web API 文件可以看到大量 Resource (资源) 这个单字,URI 我还能理解,跟 Resource...我们发送信息给资源行为在 HTTP 规范称之为 POST。...在 Julie Lerman's How I see Web API 一文,用了一张图来简明说明 Web API: ? An Introduction to ASP.NET Web API

1.1K80

Asp.Net WebApi核心对象解析(一)

2.ASP.NET Web API所需软件包:       (1).System.Net.Http:提供核心HTTP编程模型。      ...在ASP.NET Web API,一个控制器是处理HTTP请求类。控制器公共方法被称为动作方法或简单动作。当Web API框架接收到一个请求,它请求路由到一个动作。...(3).在路由模板其他占位符变量,诸如{ID},被映射到动作参数。    对于ASP.NET Web API路由机制就讲解这么多,更多内容大家可以自己去了解。...ApiController是ValuesController类父类,是整个ASP.NET Web API核心类,继承该类可以用来创建ASP.NET Web API控制器。...四.总结:    以上是对ASP.NET Web API背景和使用方法,以及对ASP.NET Web API核心对象简要介绍,下篇会主要介绍HttpRequestMessage、HttpResponseMessage

4.4K70

ASP.NET Core 奇淫技巧之动态WebApi

一.前言 接触到动态WebApi(Dynamic Web API)这个词已有几年,是从ABP框架里面接触到,当时便对ABP这个技术很好奇,后面分析了一波,也尝试过从ABP剥离一个出来作为独立组件来使用...二.介绍 不管是传统三层架构、 DDD 经典四层架构(DDD Lite),亦或是其他具有应用逻辑层(业务逻辑层)架构,在Web应用程序开发当中 ,我们业务逻辑最终都需要经过 Web Api 来进行调用...(4)会自动添加API路由前缀,默认会为所有API添加 api前缀 (5)默认HTTP动词为POST,可以通过 HttpGet/HttpPost/HttpDelete等等ASP.NET Core 内置特性来覆盖...动词为 POST,对照表如下,若命中(忽略大小写)对照表那么该API名称这个动词将会被省略,如 CreateApple 将会变成 Apple,如未在以下对照表,将会使用默认动词 POST 方法名开头...2.配置 所有的配置均在对象 DynamicWebApiOptions ,说明如下: 属性名 是否必须 说明 DefaultHttpVerb 否 默认值:POST

1.9K20

MybatisPlus不好用?帅小伙一气之下写了个MybatisPlusPro

我们平时在用MybatisPlus作为开发时候,虽然好用,但是大多数都在对 dao 层面的增删改查,所以打算自己抽取一套在 controller 层功能出来。...方法泛型表示,可以接受任意类型参数entity。在此代码,首先通过反射获取参数entity对象所对应类属性,即value。...接着通过 Java 内置 Introspector 机制获取id属性 JavaBean 规范访问器PropertyDescriptor,并从该对象提取出对应 getter 方法。...具体来说,该类包含了五个基本 HTTP 操作(POST, GET),通过不同参数和请求方式对实体对象进行 CRUD 操作,即添加(insert)、删除(delete)、修改(update)、查询(getById...同时,通过Spring Boot自带Web开发框架注解,将每个方法暴露为一个 Restful API

24520

使用 ASP.NET Web API 构建超媒体 Web API

客户端应使用 HTTP POST 还是 HTTP GET?如果它使用 POST,应在请求主体包含什么数据?尽管所有知识可能记录在某处,但是如果客户端可以实际发现该功能不更好吗?...它只需要使用 HTTP POST 将此表单提交到 action 属性中指定 URL。...现在我们来了解一下如何在使用 ASP.NET Web API 生产环境实际实施这些原理,并使用此框架提供所有可扩展性和功能。 在内核级别,ASP.NET Web API 支持格式化程序概念。...Web API 对于支持内容协商起着重要作用,因为框架现在可以根据在请求消息“Accept”和“Content-Type”标头中收到值选择正确格式化程序。...此步骤几乎可以用与在 ASP.NET 或 ASP.NET Web API 自托管相同方式来实现,只是所需 HttpConfiguration 实现不同。

2.8K50
领券