一、創建項目
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的一個總結,有描述不對的地方請指正。