【发布时间】:2019-04-08 12:55:02
【问题描述】:
我正在使用 .net Core 2.1 Web API。我添加了每个方法[HttpGet("....")] 或[HttpPost("....")],如下所示。但是,我不想在每个控制器中编写每个方法。我只想写[HttpGet] 或[HttpPost]。我怎样才能做到这一点?
或者,如果这不可能,我可以像 [HttpPost("[action]")] 那样自动采取 actionName 吗?
我这样打电话: http://localhost:5000/api/University/GetUniversities
完美运行
namespace University.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UniversityController : ControllerBase
{
private readonly IUniversityService universityService;
public UniversityController(IUniversityService universityService)
{
this.universityService = universityService;
}
[HttpGet("GetUniversities")]
public async Task<ServiceResult> GetUniversities()
{
return await universityService.GetUniversities();
}
[HttpGet("GetUniversityStatues")]
public async Task<ServiceResult> GetUniversityStatues()
{
return await universityService.GetUniversityStatues();
}
}
}
我试过了,但没有用:
namespace University.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UniversityController : ControllerBase
{
private readonly IUniversityService universityService;
public UniversityController(IUniversityService universityService)
{
this.universityService = universityService;
}
[HttpGet]
public async Task<ServiceResult> GetUniversities()
{
return await universityService.GetUniversities();
}
[HttpGet]
public async Task<ServiceResult> GetUniversityStatues()
{
return await universityService.GetUniversityStatues();
}
}
}
【问题讨论】:
-
你可以简单地写
[HttpGet]它会自动获取动作名称。 -
我试过了,但是不行。 @Justcode
-
编辑后什么不起作用?你的控制台在说什么?
-
我的控制台出现 404 错误@Justcode
-
这个api怎么调用?显示网址
标签: c# .net asp.net-core-webapi asp.net-core-2.1