ASP.Net Web-api 不可多得的零基础教程4
2018-04-11 21:35
501 查看
本篇主要在WebApiConfig .cs上下下功夫。
public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }以上程序是默认的路由配置,上一篇ASP.Net Web-api 不可多得的零基础教程3中已经介绍了,Route的相关知识,不明白的可以参考一下。
修改1:改变默认的路由配置:
public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "webapi/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }主要的变化在这一句上:
routeTemplate: "webapi/{controller}/{id}"原来是:
routeTemplate: "api/{controller}/{id}"
变化的结果是,
原来的请求url是:http://localhost:12345/api/Demo/123
现在变成了:http://localhost:12345/webapi/Demo/123
相信你自己已经看出来了,我就不多解释了。修改2:修改路由结构,并添加约束:
public static class WebApiConfig{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{orgid}/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { orgid = @"\d+" }
);
}
}
routeTemplate: "api/{orgid}/{controller}/{id}",上面这一句是发生变化的路由:
变化后的url是:
http://localhost:12345/api/123/Demo/123
api/{orgid}/{controller}/{id}上面我故意对齐了路由模板和url的格式,想必大家能对号入座。(注意:这样的话,原来的url就失效啦!)再来看看多出来的一句话:
constraints: new { orgid = @"\d+" }constraints是约束的意思,new { }是固定的格式,origid看着熟悉?这就是上面routeTemplate中的那个路径,origid=@"\d+"
这里用到了C#的正则表达式,@“\d+”代表至少由一个数字组成,也就是可以是任意的数字,字母肯定是不行的,约束谁呢?约束url
http://localhost:12345/api/abc/Demo/123 这是错误的
http://localhost:12345/api/1/Demo/123 这是合法的
http://localhost:12345/api/111/Demo/123 这也是合法的
本文结束,请关注后续文章!相关文章推荐
- ASP.Net Web-api 不可多得的零基础教程8
- Asp.Net Web-api 不可多得的零基础教程10
- ASP.Net Web-api 不可多得的零基础教程2
- ASP.Net Web-api 不可多得的零基础教程1
- Asp.Net Web-api 不可多得的零基础教程9
- ASP.Net Web-api 不可多得的零基础教程3
- ASP.Net Web-api 不可多得的零基础教程6
- ASP.Net Web-api 不可多得的零基础教程7
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- [ASP.NET 教程] 一. Web基础
- Asp .Net Core Web API的swagger 使用
- Asp.net Core WebApi 返回JSON自动驼峰格式化问题
- ASP.NET WebAPI Bearer Authorization
- ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)
- 如何在ASP.NET Core Web API测试中使用Postman
- Adding the Test API in The ASP.NET Web API Help Page
- CentOs7 +Jexus 5.8.2部署Asp.Net Core WebApi 1.0生产环境
- Selenium WebDriver 中文教程 API(一)之基础讲解
- 在Mac下创建ASP.NET Core Web API
- ASP.NET Web API 之 WebApiConfig