Asp.Net http://localhost:5000/company/getCompanyById/3 的核心 Http 失败响应:404 未找到
Asp.Net Core Http failure response for http://localhost:5000/company/getCompanyById/3: 404 Not Found
我是 C# 和 Asp.Net 的新手,我在通过 Id 获取或删除公司时遇到 404 错误。获取所有公司的 Api 工作正常。
API 对于所有公司:http://localhost:5000/company/getcompaniesTest(有效)
对于 GetById:http://localhost:5000/company/getCompanyById/3(不工作)
这是我的控制器:
[Authorize(AuthenticationSchemes = "Bearer")]
[ApiController]
[Route("company")]
public class CompanyController : ControllerBase
{
private readonly IMediator _mediator;
public CompanyController(IMediator mediator)
{
this._mediator = mediator;
}
[HttpGet]
[Route("getcompanies")]
public async Task<IActionResult> GetCompanies()
=> new JsonResult(await _mediator.Send(new GetCompanies.Query()));
[HttpGet("{id}")]
[Route("getCompanyById")]
public async Task<IActionResult> GetCompanyById([FromQuery] GetCompanyById.Query query)
=> new JsonResult(await _mediator.Send(query));
[HttpDelete("{id}")]
[Route("deleteCompany")]
public async Task<IActionResult> DeleteCompanyTest([FromQuery] DeleteCompany.Command command)
=> new JsonResult(await _mediator.Send(command));
或者你在协议修饰符[Http(你的路由)]中使用路由,或者在路由修饰符[Route(你的路由) )].
两者都不!试试这个:
[HttpGet("getCompanyById/{id}")]
public async Task<IActionResult> GetCompanyById(int id) // your id type
=> new JsonResult(await _mediator.Send(id));
但这是不好的做法。
最合适的就是 host/company/id
by the get 1 company.
我是 C# 和 Asp.Net 的新手,我在通过 Id 获取或删除公司时遇到 404 错误。获取所有公司的 Api 工作正常。
API 对于所有公司:http://localhost:5000/company/getcompaniesTest(有效)
对于 GetById:http://localhost:5000/company/getCompanyById/3(不工作)
这是我的控制器:
[Authorize(AuthenticationSchemes = "Bearer")]
[ApiController]
[Route("company")]
public class CompanyController : ControllerBase
{
private readonly IMediator _mediator;
public CompanyController(IMediator mediator)
{
this._mediator = mediator;
}
[HttpGet]
[Route("getcompanies")]
public async Task<IActionResult> GetCompanies()
=> new JsonResult(await _mediator.Send(new GetCompanies.Query()));
[HttpGet("{id}")]
[Route("getCompanyById")]
public async Task<IActionResult> GetCompanyById([FromQuery] GetCompanyById.Query query)
=> new JsonResult(await _mediator.Send(query));
[HttpDelete("{id}")]
[Route("deleteCompany")]
public async Task<IActionResult> DeleteCompanyTest([FromQuery] DeleteCompany.Command command)
=> new JsonResult(await _mediator.Send(command));
或者你在协议修饰符[Http(你的路由)]中使用路由,或者在路由修饰符[Route(你的路由) )].
两者都不!试试这个:
[HttpGet("getCompanyById/{id}")]
public async Task<IActionResult> GetCompanyById(int id) // your id type
=> new JsonResult(await _mediator.Send(id));
但这是不好的做法。 最合适的就是 host/company/id by the get 1 company.