【问题标题】:Web API parameter values are null when check with Postman [duplicate]使用 Postman 检查时,Web API 参数值为空 [重复]
【发布时间】:2018-06-05 21:51:45
【问题描述】:

我创建了简单的 .net core web api。但是当我通过邮递员检查时,我的模型参数值为空。

命名空间 Identity.API.Controllers {

[Produces("application/json")]
[Route("api/Token")]
//[AllowAnonymous]    
public class AccountController : Controller
{
    [HttpPost] 
    public IActionResult Token(LoginViewModel model)
    {
         //some code here

        return Ok(token.Value);
    }              
}

}

但参数值为空

请帮帮我。

【问题讨论】:

    标签: c# asp.net-web-api postman


    【解决方案1】:

    您将参数作为 JSON 字符串发送,但您的 API 并不期望这样。它期望查询字符串(GET)或表单变量(POST)中的参数。尝试将它们作为表单变量发送,它会起作用。

    如果您确实想将参数作为 JSON 字符串发送,则需要将 Content-Type 标头设置为 application/json。此外,您需要像这样用[FromBody] 标记它们:

    public IActionResult Token([FromBody] LoginViewModel model){
    }
    

    【讨论】:

    • @Steve'saD 该链接不适用于 Core,因此尽管其中大部分对 Core 仍然有效,但存在一些差异。
    • 谢谢,我没有意识到 Core 中的不同。我没有对你投反对票。
    • @Steve'saD 即使你投反对票也没关系:)。具有讽刺意味的是,有一个被拒绝接受的答案:),但我猜是因为该问题被标记为重复。我回答它是因为另一个答案没有解释。是的,我不喜欢 Core 和标准之间有这么多微小的差异,尤其是当我们必须在不同平台上维护项目时。谁会记住这一切?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2016-05-19
    • 2023-03-28
    • 2013-05-11
    • 2020-07-05
    相关资源
    最近更新 更多