gpt4 book ai didi

javascript - .NET Core 2 端点不会在 POST 上绑定(bind) FromBody 的参数

转载 作者:行者123 更新时间:2023-12-03 01:59:55 24 4
gpt4 key购买 nike

我正在我的 Angular 应用程序中执行以下调用。

this._client.post(
"http://localhost:4300/api/Beep",
{ name: name, email: email })
.subscribe(...);

我还尝试了显式 header 配置。

this._client.post(
"http://localhost:4300/api/Beep",
{ name: name, email: email }),
{ headers: new HttpHeaders({ "Content-Type": "application/json" }) }
.subscribe(...);

断点在下面的方法中被捕获。

[HttpPost("Beep")]
public IActionResult RequestNetwork(
[FromBody]string name,
[FromBody]string email)
{
...
return Ok();
}

问题是两个字段都为空。

我不完全确定我在前端或后端的调用中是否做了一些愚蠢的事情。我验证了代码与像this one这样的博客。我的赌注是前者,因为我遵循了 Angular docs而且,我还运行了 Postman(将 Content-Type 设置为 application/json 并发送 {name:"qqq",email:"www"} 作为原始)。我尝试过的每种参数组合的结果都是相同的。

在这个假设下,我一直在谷歌上搜索任何类似于“绑定(bind)核心帖子来自body”的内容,包括我能想到的变体。我没有找到任何我认为相关或有用的东西(可能是由于缺乏经验或沮丧)。

这里可能存在什么问题,我应该专门寻找什么来解决它(或者至少深入了解我遇到的任何错误)?

最佳答案

尝试使用类

public class DataType
{
public string name { get; set; }
public string email { get; set; }
}

//in your api
[HttpPost, ActionName("Beep")]
public IActionResult RequestNetwork([FromBody]DataType value)
{
string name=value.name;
string email=value.email;
...
return Ok();
}

关于javascript - .NET Core 2 端点不会在 POST 上绑定(bind) FromBody 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50081221/

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