





建议的做法




创建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。那么就要求使用属性路由。但是默认

而我们这里配置的是统一的路由模板,而没有使用属性路由。

属性路由下一节再讲。