邮递员使用 Put

Postman using Put

尝试使用 Postman 进行 Put,似乎无法弄清楚:

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

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

在邮递员中:

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

您需要使用[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
 }