问题标签 [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.
c# - C# Web API POST 参数 FromBody 始终为空
我已经在网上搜索了几个小时,并尝试了许多不同的解决方案,这些解决方案也在 StackOverflow 上进行了描述。我知道以前有人问过类似的问题,但没有一个答案或评论对我有用。
问题:我有一个带有一些参数的 Post 方法的 .NET Web API。其中一个参数是一个复杂的对象,应该从正文中读取(即 JSON)。但是,此对象始终为 null。
这是我的代码:
需要明确的是:eventData 是始终为空的对象。布尔值被正确读取。
完整的请求正文是:
作为参考,这是事件类:
我已经尝试过的一些事情:
- 将 JSON 更改为不同的格式(仅值,"Event": {} 围绕实际对象,= 在 JSON 前面)。
- 仅使用 Event 参数进行测试(删除其他参数以及路由中的参数)
- 将默认 ctor 添加到 Event。
- 删除 [FromBody] 标签。如果我这样做,事件对象不为空,但所有属性都是。可以通过 URI 填充属性,但这不是所需的行为。
根据我读过的所有解决方案和文档,它应该按照我上面显示的方式工作。我错过了什么?
rest - 为什么 [FromBody] 忽略模型绑定器?
我正在研究 ASP.NET 中的 REST API。我做的第一件事是模型的模型绑定器,通过如下代码与模型绑定:
并在一个动作中使用它
我突然意识到,在参数类型之前添加 [FromBody] 之后......
...模型绑定器被忽略。我尝试通过在 BindModel 方法的开头和操作的开头放置一个断点来调试它,并意识到当我调用操作时,我会直接执行操作。当我删除 FromBody 属性时,ModelBinder 中的断点再次变为活动状态。
为什么我不能同时使用?为什么 FromBody 属性忽略了 ModelBinder?
asp.net-web-api2 - OData V4 函数 FromBody 参数
此 OData 函数不会反序列化主体中的模型参数。null
从响应中可以看出,它会反序列化。OData V4 中是否支持 FromBody 参数?
ConfigV1.cs
测试控制器.cs
测试模型.cs
要求
回复
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。
c# - POST web api 函数以在服务器端获取 BODY 内容
我不知道这是不是一个愚蠢的问题,为了澄清我在这里问。请就以下情况提出建议。
我想出了一个情况,可以指定 [FromBody] 属性来装饰函数内部的参数并从客户端获取复杂/简单的数据。我确实接受了它的方式和处理。
有什么办法,我不想在我的 POST 函数中指定为参数,并且仍然能够在服务器端处理正文内容?
另外我想在调用我的 POST API 时强制使用 BODY。在函数参数中尝试了 [Required] ,但它适用于我上面列出的情况。
asp.net-web-api - WebApi [FromBody] 解析
我有一个现有的控制器,[FromBody]
在方法中按预期工作HttpPost
。在编写测试时,我发现有必要使用客户序列化程序以避免循环引用,因为父对象有一个引用父对象的子对象。序列化程序使用以下设置:
问题是[FromBody]
无法解析该序列化程序生成的对象(它会引发 Newtonsoft.Json.JsonSerializationException)。但是,如果我改变[FromBody]
为动态的,例如
然后我就可以毫无问题地解析对象。这让我很困惑,我想知道是否可以覆盖 WebApi 所做的事情,[FromBody]
以便我可以获得正确的对象,而不必让每个方法都接受dynamic
参数?
asp.net-web-api - MVC Api 控制器方法 HttpPost 不起作用
我正在使用 Visual Studio 2013...
我在使用 Api 控制器方法时遇到了一些问题。
HTTPGET
我了解、和之间HTTPPUT
的区别[FromUri]
[FromBody].
我有一个简单的方法,我正在测试所有组合。
当我跑
我得到了 HTTP 404 错误是这个例子
Got HTTP 405 error is this examples
没有错误,但参数a
为 0..
换句话说.. 使用 [HttpPut] 或使用未定义或定义为 [FromUri] 的参数不起作用。
它仅适用于 [HttpGet] 和 [FromBody],但参数为空。
我的 WebApiConfig 看起来像这样
为什么它不工作?
c# - 解析 [FromBody] JSON:模型 null
我正在尝试在我的操作中解析一些 json,然后用它来做事。但是,我一直null
作为我的模型而不是填充模型。
这是我要解析的 json:
这是我的行动:
这些是我的模型:
我正在从我的淘汰赛/打字稿脚本中发送 json,如下所示:
我没有得到任何异常,model
参数只是保持为空。我发现如果我注释掉SubtitleAssignments
and TranslationAssignments
in SubmitQuotationModel
,它反序列化 json 的其他部分就好了。但是我不明白为什么它不会在...Assignments
没有注释掉的两个声明的情况下反序列化。
angular - FromBody 参数始终为空
这个论坛上已经有很多关于这个的问题。我已经阅读了它们,但我无法解决我的问题,所以我会在这里再次尝试提问。
我正在构建一个 Angular + ASP Core 应用程序。我已经在其他请求上成功使用了 FromBody,但由于某种原因,这个特定的请求不起作用。
这是我的模型类:
这是我发送到服务器的方式:
这是我在请求中的“.net.post”服务,以防您想知道:
这是我的 JSON 输出:
这是我的控制器方法:
最后,我的 C# 模型
我不确定有什么问题。任何帮助将不胜感激。