Asp.net核心帖子api返回未找到

问题描述 投票:0回答:1

我在asp.net core 2.0中有一个post api,它返回一条简单的消息(用于测试)。

  [Produces("application/json")]
public class LoginApiController : Controller
{
    private IUserService _userService;

    public LoginApiController(IUserService userService)
    {
        _userService = userService;
    }


    [HttpGet("GetAll")]
    public IActionResult GetAll()
    {
        return Ok(_userService.GetAll());
    }


    [HttpPost("DoExam")]
    public IActionResult DoExam([FromBody] LoginViewModel login)
    {
        return Ok("Exam Done");
    }
}

这个代码在我的本地工作正常但是当我在服务器上传它时它返回404找不到。

我做错了吗?

在这里我在本地测试这个api

PostMan测试Api:

PostMan Test Api

c# asp.net asp.net-web-api asp.net-core
1个回答
2
投票

您在屏幕截图中使用的网址不正确。它应该是 -

http://localhost:14996/LoginApi

理想情况下,我们不会在Controller中添加后缀Api来区分MVC控制器和API控制器。相反,我们将路径命名为api/[controller],以便我们可以将所有API控制器都设置为~/api/controllername

[Authorize]
[Route("api/[controller]")]
public class LoginController : Controller
{
   // POST api/login
   [HttpPost]
   public IActionResult Post([FromBody] LoginViewModel login)
   {
      return Ok("Exam Done");
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.