gpt4 book ai didi

asp.net-mvc - 没有模型的 WebApi GET 和多个 POST 参数始终为 null

转载 作者:行者123 更新时间:2023-12-05 02:22:11 24 4
gpt4 key购买 nike

我正在尝试将参数 get 和 post 发送到没有模型的服务上的方法,但它始终为空。我怎么解决这个问题?还有这个问题的逻辑原因是什么?我遇到问题的代码如下;

[HttpGet]
public Result GetUser(string userId)
{
using (DataContext dc = new DataContext())
{
return dc.GetUser(userId);
}
}

[HttpPost]
public Result CreateUser([FromBody]string firstname, [FromBody]string lastname)
{
using (DataContext dc = new DataContext())
{
return dc.CreateUser(firstname, lastname);
}
}

最佳答案

根据 HTTP 协议(protocol),您在 Post 请求中尝试执行的操作无效。每个 Web 请求只能有 1 个主体,虽然可以以非结构化形式传递单个参数,但不可能传递两个(来源 Asp.net 网站 here)。因此,您有 2 个选择:

1).将 2 个参数添加到 url - 将 [FromBody] 更改为 [FromUri]

2).将两个参数封装到一个类/模型中,并接受它作为您的 post 方法的输入(来自正文或 URL/URi 都可以)。数据的发送者将能够指定他们希望如何通过 xml 或 json 发送数据,默认情况下使用 asp.net Web api

关于asp.net-mvc - 没有模型的 WebApi GET 和多个 POST 参数始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30477129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com