问题标签 [frombodyattribute]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10872 浏览

c# - C# Web API POST 参数 FromBody 始终为空

我已经在网上搜索了几个小时,并尝试了许多不同的解决方案,这些解决方案也在 StackOverflow 上进行了描述。我知道以前有人问过类似的问题,但没有一个答案或评论对我有用。

问题:我有一个带有一些参数的 Post 方法的 .NET Web API。其中一个参数是一个复杂的对象,应该从正文中读取(即 JSON)。但是,此对象始终为 null

这是我的代码:

需要明确的是:eventData 是始终为空的对象。布尔值被正确读取。

完整的请求正文是:

作为参考,这是事件类:

我已经尝试过的一些事情:

  • 将 JSON 更改为不同的格式(仅值,"Event": {} 围绕实际对象,= 在 JSON 前面)。
  • 仅使用 Event 参数进行测试(删除其他参数以及路由中的参数)
  • 将默认 ctor 添加到 Event。
  • 删除 [FromBody] 标签。如果我这样做,事件对象不为空,但所有属性都是。可以通过 URI 填充属性,但这不是所需的行为。

根据我读过的所有解决方案和文档,它应该按照我上面显示的方式工作。我错过了什么?

0 投票
0 回答
1426 浏览

rest - 为什么 [FromBody] 忽略模型绑定器?

我正在研究 ASP.NET 中的 REST API。我做的第一件事是模型的模型绑定器,通过如下代码与模型绑定:

并在一个动作中使用它

我突然意识到,在参数类型之前添加 [FromBody] 之后......

...模型绑定器被忽略。我尝试通过在 BindModel 方法的开头和操作的开头放置一个断点来调试它,并意识到当我调用操作时,我会直接执行操作。当我删除 FromBody 属性时,ModelBinder 中的断点再次变为活动状态。

为什么我不能同时使用?为什么 FromBody 属性忽略了 ModelBinder?

0 投票
2 回答
3108 浏览

asp.net-web-api2 - OData V4 函数 FromBody 参数

此 OData 函数不会反序列化主体中的模型参数。null从响应中可以看出,它会反序列化。OData V4 中是否支持 FromBody 参数?

ConfigV1.cs

测试控制器.cs

测试模型.cs

要求

回复

0 投票
1 回答
844 浏览

c# - 作为参数 [FromBody] 传递的 Json 数据是 Map to Class 给出 NULL

我有一个以下 JSON String ,它作为我的 Web-API 的输入参数传递。我在访问多级 JSON 数据时遇到了麻烦,参数中只接收 NULL 值。

C#中的类

在这里,我接受来自 postbody 的数据,

是否可以像上面那样读取整个 JSON 字符串?任何人都可以帮助解决,我在下面做了一层 JSON,

{ "Abc":67, "Def":"main_user", "Hij":"0123", "Kel":0 }

但是多级 JSON 给出 NULL。

0 投票
0 回答
240 浏览

c# - POST web api 函数以在服务器端获取 BODY 内容

我不知道这是不是一个愚蠢的问题,为了澄清我在这里问。请就以下情况提出建议。

我想出了一个情况,可以指定 [FromBody] 属性来装饰函数内部的参数并从客户端获取复杂/简单的数据。我确实接受了它的方式和处理。

有什么办法,我不想在我的 POST 函数中指定为参数,并且仍然能够在服务器端处理正文内容?

另外我想在调用我的 POST API 时强制使用 BODY。在函数参数中尝试了 [Required] ,但它适用于我上面列出的情况。

0 投票
1 回答
1400 浏览

asp.net-web-api - WebApi [FromBody] 解析

我有一个现有的控制器,[FromBody]在方法中按预期工作HttpPost。在编写测试时,我发现有必要使用客户序列化程序以避免循环引用,因为父对象有一个引用父对象的子对象。序列化程序使用以下设置:

问题是[FromBody]无法解析该序列化程序生成的对象(它会引发 Newtonsoft.Json.JsonSerializationException)。但是,如果我改变[FromBody]为动态的,例如

然后我就可以毫无问题地解析对象。这让我很困惑,我想知道是否可以覆盖 WebApi 所做的事情,[FromBody]以便我可以获得正确的对象,而不必让每个方法都接受dynamic参数?

0 投票
1 回答
112 浏览

c# - 反序列化列表对象,属性返回为 null

我正在尝试将数据发布到应该接受List<UpdatePointHistory>. 列表的大小是正确的,但对象的属性是空白的。

我发布的数据:

在此处输入图像描述

以及从 API 返回的对象:

在此处输入图像描述

0 投票
1 回答
5514 浏览

asp.net-web-api - MVC Api 控制器方法 HttpPost 不起作用

我正在使用 Visual Studio 2013...

我在使用 Api 控制器方法时遇到了一些问题。

HTTPGET我了解、和之间HTTPPUT的区别[FromUri][FromBody].

我有一个简单的方法,我正在测试所有组合。

当我跑

http://localhost:62536/api/Controller/Method/10

我得到了 HTTP 404 错误是这个例子

Got HTTP 405 error is this examples

没有错误,但参数a为 0..

换句话说.. 使用 [HttpPut] 或使用未定义或定义为 [FromUri] 的参数不起作用。

它仅适用于 [HttpGet] 和 [FromBody],但参数为空。

我的 WebApiConfig 看起来像这样

为什么它不工作?

0 投票
1 回答
498 浏览

c# - 解析 [FromBody] JSON:模型 null

我正在尝试在我的操作中解析一些 json,然后用它来做事。但是,我一直null作为我的模型而不是填充模型。

这是我要解析的 json:

这是我的行动:

这些是我的模型:

我正在从我的淘汰赛/打字稿脚本中发送 json,如下所示:

我没有得到任何异常,model参数只是保持为空。我发现如果我注释掉SubtitleAssignmentsand TranslationAssignmentsin SubmitQuotationModel,它反序列化 json 的其他部分就好了。但是我不明白为什么它不会在...Assignments没有注释掉的两个声明的情况下反序列化。

0 投票
0 回答
713 浏览

angular - FromBody 参数始终为空

这个论坛上已经有很多关于这个的问题。我已经阅读了它们,但我无法解决我的问题,所以我会在这里再次尝试提问。

我正在构建一个 Angular + ASP Core 应用程序。我已经在其他请求上成功使用了 FromBody,但由于某种原因,这个特定的请求不起作用。

这是我的模型类:

这是我发送到服务器的方式:

这是我在请求中的“.net.post”服务,以防您想知道:

这是我的 JSON 输出:

这是我的控制器方法:

最后,我的 C# 模型

我不确定有什么问题。任何帮助将不胜感激。