开始正文前,咱们先了解下,接下来的文章作者都会围绕《真实职场关于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
{
/// <summary>
/// 查询用户ID
/// 参数:空
/// </summary>
[Route("QueryOne")]
[HttpGet]
public string QueryUserId()
{
try
{
//ADO.NET 自行连接访问数据库,获取数据来源
return "ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串";
}
catch
{
return null;
}
}
/// <summary>
/// 查询用户ID
/// 参数:用户编号
/// </summary>
[Route("QueryTwo")]
[HttpGet]
public string QueryUserId(string userNo)
{
try
{
//ADO.NET 自行连接访问数据库,获取数据来源
//userNo 根据这个参数,获取返回数据
return string.Format("参数:{0},ADO.NET 自行连接访问数据库 获取到的数据来源,如字符串",userNo);
}
catch
{
return null;
}
}
/// <summary>
/// 查询用户ID
/// 参数:用户名称,用户性别
/// </summary>
[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;
}
}
/// <summary>
/// 查询用户ID
/// 参数:实体用户信息
/// </summary>
[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下载