一、创建项目
1、打开VS2019,新建一个ASP.NET Core Web 应用程序。
2、
输入项目名、选择路径创建。
3、
选择.NET Core 我这里用的是.NET Core 2.2版本,选中API,把右边的选中取消。
4、创建的项目目录内容如下。
二、新建或编辑默认控制器
这里我们自己新建个控制器测试(选择Controllers文件夹,右键,添加)
官方给出的模板是:
同时,在 Startup 类中注册了 Mvc 中间件.
实际上, 继承 ControllerBase ,特性 [Route] [ApiController] 都是为了提供一些便利功能,一个最"轻量"的 WebAPI 即平常的controller:
新建一个 TestController:
public class TestController { public string Get() { return "hello world"; } }
注册 Mvc 中间件时添加路由:
//app.UseMvc(route => { route.MapRoute("default", "api/{controller}"); });//不能这样写,这种最轻量的方式,不支持 Restful 风格的请求方式 app.UseMvc(route => { route.MapRoute("default", "api/{controller}/{action}"); });
采用上述路由而不用,特性 [Route] [ApiController],那么测试URL:api/controller类名前缀(TestController,前缀即test,不区分大小写)/方法名
[ApiController] 特性则提供如下便利功能:
[Route("api/[controller]")]
[ApiController]
public class FirstController : ControllerBase
{
[HttpGet]
public string methods()
{
return "Hello World";
}
[HttpGet("{id}")]
public List<int> functions()
{
List<int> list =new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
return list;
}
[HttpGet("info")]
public string infos()
{
return new string("zhangsan");
}
}
}
采用[ApiController] 特性,那么测试URL:api/controller类名前缀(TestController,前缀即test,不区分大小写)/请求类型的action(例如:get请求:[HttpGet("info")],info即他的action)
以上是对Api controller的一个总结,有描述不对的地方请指正。