Web API 约定
Web API 约定
默认的约定
集将应用于 ContactsConventionController 中的所有操作:
[ApiController]
[ApiConventionType(typeof(DefaultApiConventions))]
[Route("api/[controller]")]
public class ContactsConventionController : ControllerBase
{
默认的约定集将应用于程序集中的所有操作:
[assembly: ApiConventionType(typeof(DefaultApiConventions))]
namespace ApiConventions
{public class Startup{
创建 Web API 约定
如果默认 API 约定不能满足需要,请创建自己的约定。 约定是:
- 带有方法的静态类型。
- 能够对操作定义响应类型和命名要求。
响应类型
这些方法使用 [ProducesResponseType]
或 [ProducesDefaultResponseType]
属性进行批注。 例如:
C#复制
public static class MyAppConventions
{[ProducesResponseType(StatusCodes.Status200OK)][ProducesResponseType(StatusCodes.Status404NotFound)]public static void Find(int id){}
}
如果没有更具体的元数据属性,则将此约定应用于程序集可强制实现以下内容:
- 该约定方法应用于所有名为
Find
的操作。 id
操作上存在名为Find
的参数。
命名要求
[ApiConventionNameMatch]
和 [ApiConventionTypeMatch]
属性可应用于约定方法,确定它们所要应用的操作。 例如:
C#复制
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[ApiConventionNameMatch(ApiConventionNameMatchBehavior.Prefix)]
public static void Find([ApiConventionNameMatch(ApiConventionNameMatchBehavior.Suffix)]int id)
{ }
在上面的示例中:
- 应用于该方法的
Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior.Prefix
选项表示该约定可匹配前缀是“Find”的任何操作。 匹配的操作可以是Find
、FindPet
和FindById
。 - 应用于该参数的
Microsoft.AspNetCore.Mvc.ApiExplorer.ApiConventionNameMatchBehavior.Suffix
表示该约定可匹配带有唯一以标识符作为后缀结尾的参数的方法。 示例包括id
或petId
等参数。 与此类似,可将ApiConventionTypeMatch
应用于类型,以约束参数类型。params[]
参数指示无需显式匹配的剩余参数。
Web API 约定相关推荐
- (四)Asp.net web api中的坑-【api的返回值】
(四)Asp.net web api中的坑-[api的返回值] 原文:(四)Asp.net web api中的坑-[api的返回值] void无返回值 IHttpActionResult HttpRe ...
- 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
第1部分:http://www.cnblogs.com/cgzl/p/7637250.html 第2部分:http://www.cnblogs.com/cgzl/p/7640077.html 第3部分 ...
- Web API路由和动作选择
前言 本文描述ASP.NET Web API如何把一个HTTP请求路由到控制器的一个特定的Action上.关于路由的总体概述可以参见上一篇教程 http://www.cnblogs.com/aehyo ...
- Web APi之控制器选择Action方法过程(九)
前言 前面我们叙述了关于控制器创建的详细过程,在前面完成了对控制器的激活之后,就是根据控制器信息来查找匹配的Action方法,这就是本节要讲的内容.当请求过来时首先经过宿主处理管道然后进入Web AP ...
- ASP.NET Web API 特性
ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RES ...
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
第一部分: https://www.cnblogs.com/frank0812/p/11165940.html 第二部分:https://www.cnblogs.com/frank0812/p/111 ...
- Web API应用架构设计分析(2)
在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端 ...
- 【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)
工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...
- Web APi之EntityFramework【CRUD】(三)
前言 之前我们系统学习了EntityFramework,个人觉得有些东西不能学了就算完了,必须要学以致用,在Web API上也少不了增(C).删(D).改(U).查(R).鉴于此,我们通过EF来实现W ...
最新文章
- 学界 | 量化深度强化学习算法的泛化能力
- Python教程WEB安全篇
- 【记录】一些非常方便的命令集合
- mysql 一条sql update多条记录
- java编程控制电脑硬件_如何快速学习AP计算机中的Java编程?
- 【玩转cocos2d-x之三十一】弱联网与服务器的通讯
- TensorFlow 全网最全学习资料汇总之TensorFlow的技术应用
- Java 8之新特性详解
- 计算机科学导论第12版答案,计算机科学导论第12章参考答案
- python正则匹配日期2019-03-11_正则表达式验证日期(多种日期格式)——转载
- 硬盘GPT和MBR分区表转换方法
- 如何下载VMWare虚拟机如何安装VMWare详细教程
- onkeyup+onafterpaste
- 关于oppo和vivo这两年强势崛起的反思
- 关于概率论和模糊数学的区别
- 独家 | 当热钱不再涌动——2019人工智能行业冷暖观察
- UBER司机奖励政策
- 时间序列分析--手算时间序列
- 【强化学习】 Q-Learning
- RedisTemplate操作redis时,key值出现\xac\xed\x00\x05t\x00前缀
热门文章
- python制作闯关答题软件_教你轻松使用优考试制作互动闯关答题
- 学习用康虎云报表模板设计器制作好用的报表(2)
- 富文本编辑器 数据 转义 简单 高效
- 关于建立公司内部交流分享活动的一点尝试
- jsp+mysql汽车维修管理系统的设计与开发_4S店汽车维修管理系统的分析与设计(JSP+MySQL)...
- SEO优化友情链接之锚文本无敌
- AMBA-AHB与APB
- 《WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册》
- 模板模式(Template)-水泥厂订货
- 2022-2027年中国生物质成型燃料(BMF)市场规模现状及投资规划建议报告