邮差使用Put

本文关键字:Put 邮差 | 更新日期: 2023-09-27 18:15:08

尝试使用Postman来做Put,似乎无法弄清楚:

我有这个方法,它触发一个断点,一切都很好:

public IHttpActionResult Put(User user)
{
    // ... code ...
    return StatusCode(HttpStatusCode.NoContent);
}

In a Postman:

url:          .../api/users/2 
Headers(1):   Content-Type application/json, 
Body: 
     {
          "id": "1",
          "login": "Test",
          "pass": "1"
      }

…通常的东西,等等…

它可以工作,但是现在我需要将方法更改为

public IHttpActionResult Put(int key, User user)
{
    // ... code ...
    return StatusCode(HttpStatusCode.NoContent);
}

我使用Postman在消息体中尝试了所有内容,没有任何内容使它触发断点。我如何有键传递在一起用户对象??

需要添加[FromBody]也因为我的routeTemplate: "api/{controller}/{id}"是这样的,我将方法定义从key改为id,这样我就可以使用以下url调用Put…/api/users/3

邮差使用Put

您需要使用[FromBody]。以下是我使用HttpPost

的工作代码
[HttpPost("ByYear")]
public async Task<IActionResult> GetStudentDetailByYear([FromBody]SearchStudentModel model)
{
   if (string.IsNullOrWhiteSpace(model.query)
       || string.IsNullOrWhiteSpace(model.AcademicYearID))
       return BadRequest("Required Parameter not provided");
      // some codes to handle the query
 }