建议的做法
创建Controller
博主习惯于用复数的形式,CompaniesController
首先让他继承与ControllerBase这个类。
这里其实继承Controller也行。我们F12进去。
controller也是继承于ControllerBase的。所以Controller的东西肯定是要比ControllerBase的东西多
这里我们还是用ControllerBase。因为我们创建的项目是WebApi。只需要api相关的知识就可以了。Controller里面添加了对视图的支持。因此它更适用于Web MVC的程序。如果你的项目同时支持Web MVC和 webAPI的话 那么你就继承自Controller即可。
ControllerBase里面提供了很多用于处理Http请求的方法
加上注解APIController,这个属性用于Controller级别。但是它不是强制的。它使得webAPI的开发体验更好。
注入CompanyRepository
如果注入的是一个null的话 ,这里我们就抛出异常
IActionResult返回结果,相当于定义了一些合约。这些合约可以代表Action返回结果。因为我们通常用api返回的结果都是json格式的。
返回json格式,就需要序列化。
运行测试,看到报错了
因为这里我们使用了ApiController。那么就要求使用属性路由。但是默认
而我们这里配置的是统一的路由模板,而没有使用属性路由。
属性路由下一节再讲。