一、创建项目

1、打开VS2019,新建一个ASP.NET Core Web 应用程序。

.NET Core WebApi项目的创建,controller的新建与调试

 

2、

输入项目名、选择路径创建。

.NET Core WebApi项目的创建,controller的新建与调试

 

3、

选择.NET Core 我这里用的是.NET Core 2.2版本,选中API,把右边的选中取消。

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

4、创建的项目目录内容如下。

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

 

二、新建或编辑默认控制器

 

这里我们自己新建个控制器测试(选择Controllers文件夹,右键,添加)

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

.NET Core WebApi项目的创建,controller的新建与调试

 

官方给出的模板是:

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

同时,在 Startup 类中注册了 Mvc 中间件.

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 

实际上, 继承 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,不区分大小写)/方法名

.NET Core WebApi项目的创建,controller的新建与调试

 

 

[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

 

.NET Core WebApi项目的创建,controller的新建与调试

 

 

 以上是对Api  controller的一个总结,有描述不对的地方请指正。

 

相关文章: