Restful
举例:
API | 描述 |
---|---|
GET /api/items | 获取所有item |
GET /api/item/{id} | 获取制定项 |
POST /api/items | 添加新项 |
PUT /api/items/{id} | 更新现有项 |
DELETE /api/items/{id} | 删除现有项 |
不常用: | |
PATCH /api/items/{id} | 更新现有项部分内容 |
举例:
API | 描述 |
---|---|
GET /api/items | 获取所有item |
GET /api/item/{id} | 获取制定项 |
POST /api/items | 添加新项 |
PUT /api/items/{id} | 更新现有项 |
DELETE /api/items/{id} | 删除现有项 |
不常用: | |
PATCH /api/items/{id} | 更新现有项部分内容 |
每个方法都有对应的路由,若两个方法路由重复则运行报错。
基本类型参数默认映射源为 表单,其它为RequestBody.
Controller上添加特性 [Route("路径")],自动对应其请求到该controller。
其中路径文本可有以下Attribute:
自动映射到Controller类名前缀;
自动映射到method名;
方法的参数以请求query的方式传输。
指定该方法对应请求方式 (如HttpGet,HttpPost),若有string参数,等同于[Route]
template可以是固定值,也可以使用 {name} 占位符映射参数实现伪静态,{name}必须有实现映射(同名参数或参数使用[RouteFrom("name")]映射).
所有公开Action必须有路由,否则编译报错。(由ApiController实现)
ApiCOntroller实现:
Controller下:
若方法为
public IActionResult method(){
return View();
}
则会生成并返回 对应的View视图;
MVC 与 WebApi的区别:
mvc:
controller是实现Controller(继承自ContollerBase);
有添加ControllerWithViews 服务;
有Route;
能够使用Razor引擎(Cshtml)
WebApi:
Controller 继承 ControllerBase;
只能使用普通web调用接口(ajax,axios,fetch);
有swagger;
根目录下一般有如下目录
编写queryRun方法,
public QueryRun queryRun()
{
QueryRun ret;
ret = New Query(queryStr(QueryName));
return ret;
}