开始正文前,咱们先了解下,接下来的文章作者都会围绕《真实职场关于Web api学习指南(免费开放)》开展章节,让你们明白真实职场关于Web api上的认知和实际应用。点进来看的朋友,估计都是为了学习这项技术而来的,不用着急,静下心来慢慢看,可能会有不一样的收获。

适合学习人群:刚入行IT新人和不懂Web api的朋友们

顺带给大家一个学习或工作利器—-职业帮手pt(第三方API接口) :

因为现在很多第三方API接口都是需要高昂收费的,针对人群大多数是企业,而个人来说相对比较少,就算是服务商平台允许个人注册的,起步收费也是挺贵的,不适合个人开发者使用,有兴趣的朋友可以点击下面的链接,浏览查看(链接地址:http://apiplatform.top)


本篇文章我们继续往下深入学习Web api另一个重要的知识点:特性路由

一、什么是特性路由?

特性路由是指将RouteAttribute或自定义继承自RouteAttribute的特性类标记在控制器或ACTION上,同时指定路由Url字符串,从而实现路由映射,相比之前的通过Routes.Add或Routes.MapHttpRoute来讲,更加灵活与直观。

换个小白都能听到的话,就是自己定义访问方法路径,不受多个不同控制器、配置相关的限制。


其实也没多少难度,但如果大家是跳过之前的文章,直接观看本篇文章没有看明白的话,建议重新温习下之前的系列文章:https://blog.csdn.net/it_akk20210918/category_12117445.html?spm=1001.2014.3001.5482

好了,我们直接上代码,从上篇文章的例子做二次更改,不太清楚的可以点击下面这个链接:

真实职场关于Web api学习指南(免费开放)一一7.Web api的控制器Controller 深入学习_IT_AKK20210918的博客-CSDN博客

using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;namespace WebApplication1.Controllers{[RoutePrefix("HelloWorld")] //当前控制器路由地址public class DemoController : ApiController{/// /// 查询用户ID/// 参数:空///  [Route("QueryOne")][HttpGet]public string QueryUserId(){try{//ADO.NET 自行连接访问数据库,获取数据来源 return "ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串";}catch{return null;}}/// /// 查询用户ID/// 参数:用户编号///  [Route("QueryTwo")][HttpGet]public string QueryUserId(string userNo){try{//ADO.NET 自行连接访问数据库,获取数据来源 //userNo 根据这个参数,获取返回数据return string.Format("参数:{0},ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串",userNo);}catch{return null;}}/// /// 查询用户ID/// 参数:用户名称,用户性别///  [Route("QueryThree")][HttpGet]public string QueryUserId(string userName, string userSex){try{//ADO.NET 自行连接访问数据库,获取数据来源 //userNo 根据这个参数,获取返回数据return string.Format("参数:{0}|{1},ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串", userName, userSex);}catch{return null;}}/// /// 查询用户ID/// 参数:实体用户信息///  [Route("QueryFour")][HttpGet]public string QueryUserId([FromUri] Models.UserInfo userInfo){try{//ADO.NET 自行连接访问数据库,获取数据来源 //userInfo 根据实体参数,获取返回数据return string.Format("返回参数:{0}|{1},ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串", userInfo.UserNo, userInfo.UserName);}catch{return null;}}}}

如果细看的朋友们估计会看出差异,大体上代码结构一致,唯独差异就是【RoutePrefix(“HelloWorld”)]】、[Route(“QueryOne”)]、[Route(“QueryTwo”)]、[Route(“QueryThree”)]、[Route(“QueryFour”)]

这些路由标识是自己定义的,Web api服务可以根据定义的路由特性,来访问到指定的Action方法,如图所示:

结果一看,怎么不是啥啥啥遵循“api/{controller}/{id}” 的路由规则的吗?如果不懂,再往上查看什么是 “特性路由的定义”。

最后大家灵活运用,不管是GET请求访问,还是POST请求访问,都是一样通用的。上面给的例子,大家可以自行去创建的方法,自行本地访问调试,窍门已经告诉你了,感谢观看。


有需要资源的朋友,可以直接打开链接浏览,资源的内容已经是本章节系列的整合实例Demo。

如有耐心观看本章节的文章,请敬请期待接下来的文章,感谢阅读!

C#职场最精髓Webapi实例(Demo含源码,前后端分离,终身受益).rar_vs2019webapi实例,c#前后端分离-互联网文档类资源-CSDN下载