【问题标题】:Postman using Put [duplicate]邮递员使用 Put [重复]
【发布时间】:2017-03-08 02:24:52
【问题描述】:

尝试使用 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

【问题讨论】:

标签: c# json api postman url-parameters


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-03-16
    • 2021-03-28
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2023-02-26
    • 2021-04-09
    相关资源
    最近更新 更多