我在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:
您在屏幕截图中使用的网址不正确。它应该是 -
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");
}
}