ASP.NET 核心 WebAPI 2 PUT 方法名称
ASP.NET Core WebAPI 2 PUT method name
我已经苦苦挣扎了一段时间,似乎无法让它发挥作用。
我有一个控制器,说 "Teacher"。
我想要一个不同名称的 PUT 操作,但接受 [FromBody]
一个复杂的 DTO。
如何调用它?我尝试的一切都给我一个 404。
[Produces("application/json")]
[Route("api/Teacher")]
public class TeacherController : Controller
{
private readonly ITeacherService _teacherService;
public TeacherController(ITeacherService teacherService)
{
this._teacherService = teacherService;
}
[HttpPut("UpdateTeacherForInterview")]
public IActionResult PutTeacherForInterview(int id, [FromBody]UpdateInterviewModel model)
{
return Ok();
}
}
我试过了(哭了!):
PUT /api/Teacher/1 (and complex object)
PUT /api/Teacher/UpdateTeacherForInterview/1 (and complex object)
PUT /api/Teacher/PutTeacherForInterview/1 (and complex object)
我总是收到 404。
简单的 Put 有效,即:
[HttpPut]
public IActionResult Put(int id, [FromBody]string value)
{
return Ok();
}
但我想使用不同的操作名称。
想法?
路由模板与正在调用的 URL 不匹配
//Matches PUT api/Teacher/UpdateTeacherForInterview/1
[HttpPut("UpdateTeacherForInterview/{id:int}")]
public IActionResult PutTeacherForInterview(int id, [FromBody]UpdateInterviewModel model) {
return Ok();
}
我已经苦苦挣扎了一段时间,似乎无法让它发挥作用。
我有一个控制器,说 "Teacher"。
我想要一个不同名称的 PUT 操作,但接受 [FromBody]
一个复杂的 DTO。
如何调用它?我尝试的一切都给我一个 404。
[Produces("application/json")]
[Route("api/Teacher")]
public class TeacherController : Controller
{
private readonly ITeacherService _teacherService;
public TeacherController(ITeacherService teacherService)
{
this._teacherService = teacherService;
}
[HttpPut("UpdateTeacherForInterview")]
public IActionResult PutTeacherForInterview(int id, [FromBody]UpdateInterviewModel model)
{
return Ok();
}
}
我试过了(哭了!):
PUT /api/Teacher/1 (and complex object)
PUT /api/Teacher/UpdateTeacherForInterview/1 (and complex object)
PUT /api/Teacher/PutTeacherForInterview/1 (and complex object)
我总是收到 404。
简单的 Put 有效,即:
[HttpPut]
public IActionResult Put(int id, [FromBody]string value)
{
return Ok();
}
但我想使用不同的操作名称。
想法?
路由模板与正在调用的 URL 不匹配
//Matches PUT api/Teacher/UpdateTeacherForInterview/1
[HttpPut("UpdateTeacherForInterview/{id:int}")]
public IActionResult PutTeacherForInterview(int id, [FromBody]UpdateInterviewModel model) {
return Ok();
}