没有学过以前的asp.net ,直接学core新框架,查了不少资料,有点心得,记录下来
core web api 跟以前老框架的比较起来还是有不少改变的。
整个套路就是创建M(模型)、C(控制器)。
模型用来申明要用的数据。
控制器用来处理具体的操作,自定义各种需要的请求方法,读写数据库,主要代码就是在控制器类里完成。
路由有两种方式: Convention-based (按约定), attribute-based(基于路由属性配置的).
convention-based (基于约定的) 主要用于MVC (返回View或者Razor Page那种的).
Web api 推荐使用 attribute-based(基于路由属性配置的)。
因为这种基于属性配置的路由可以配置Controller或者Action级别, uri会根据Http method然后被匹配到一个controller里具体的action上.
在控制器类里:
还有一个Route属性(attribute)也可以用于Controller层, 它可以控制URI前缀.
微软官网上使用[Route(“api/[controller]”)], 写法的意思就是让uri前缀变成了"/api/xxx“
所有的请求只有HttpGet,HttpPost,HttpPut,HttpPatch, HttpDelete 5大类。
自己的方法加上这5大类的特性修饰,就可以自然划分。
修饰特性里面还可以加参数,例如: HttpGet(“all”), 那么这个Action的请求的地址就变成了 “/api/xxx/all”.
ApiController用于控制器类,以启用 API 特定的行为,说白了就是简化编程,不需要像以前那样去配置: