问题标签 [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# - 为什么FromBody填充默认值,但DeserializeObject在传递空值时抛出错误(对于不可为空的数据类型)?
我正在.NET 中创建 POST API。我有以下课程。
以下是控制器方法。
第一种方法:-
第二种方法:-
问题是当我发送age=''
或age=null
请求时,在第一种方法中,它需要,item.Age=0
但在第二种方法中,它会抛出异常Error converting value {null} to type 'System.Int32'.
为什么会发生这种情况,我无法理解。
我的猜测是,在FromBody
这种类型的对话中处理空值是句柄,但JsonConvert.DeserializeObject
它没有被处理。
这样对吗?或者上层行为还有其他原因。
c# - FromBody 收到的帖子导致可序列化错误
这是基本设置,我有一个 asp.net 核心 webapi 控制器(在 c# 中),它具有如下的 post 函数:
我正在尝试将以下原始 JSON 请求正文发送到此函数:
但是,当使用上面的正文向此函数发送发布请求时,我在服务器控制台中返回以下错误:
“执行 ObjectResult,写入 'Microsoft.AspNetCore.Mvc.SerializableError' 类型的值”
而客户端的这个错误
{ "": ["解析值时遇到意外字符:{. Path '', line 1, position 1." ] }
我尝试在函数的开头设置一个断点,但它甚至没有触发!为什么我会收到可序列化的错误?
c# - 从 React 将 Json 发布到 C# WebApi
我有一个 C# WebAPI 操作。我正在尝试使用 React 向它发布一个字符串(但一个 json 字符串化字符串)。
出于某种原因,当内容类型为应用程序/json 时,我得到了 405 Method Not Allowed。Urlencoded 确实进入 PostTransaction,但 body 始终为空。我需要更改什么才能在 PostTransaction 中获取 json?
网络配置
WebApiConfig
C# WebAPI
反应
jQuery 帖子
谢谢
post - Web Api 2 [FromBody] Post 请求正文为 NULL
全部,
首先,我知道类似的问题已经被问过无数次了。其次,我没有 50 分(?!)来评论其中任何一个。第三,我不能使用“答案”来澄清我对这些帖子的问题 - 我收到警告,我将被禁止在未来回答任何问题。
于是只好再问。我已经尝试了所有可能的编码——全部 5 种,但我总是为下面的控制器的字符串 Post Body 得到一个 NULL。我正在使用 Swagger 进行测试。
得到工作正常。不知道发生了什么。欣赏是否有人可以复制/粘贴和测试并告诉我。使用 VS 2017
c# - JSON object inside object sent in POST request is not passed to C# method
I'm trying to pass parameters to a C# method through a post request. I have one C# object that contains all the fields I'm sending with the request and of them is a non primitive object I created. When I send a POST request with the object in a JSON notation, all the other fields are passed correctly but that one - which becomes null.
I'm using the [FromBody] attribute so I tried to go without it and still that property becomes null.
This is my JSON, with my fields name cut out:
And my methods signature is:
The class DaObject:
The Info object inside looks like this:
I keep getting null values in all fields of the inner object. Although the rest of the fields in the DaObject are passed actual values. How can I fix this?
c# - 在 WebAPI 中读取动态对象 FromBody 不起作用
我找到了很多关于这个主题的信息,但是这些网站和文章都不能解决我的问题。我有一个非常简单的方法:
当我调用该方法时,它会填充前两个参数,但数据始终为空。这是服务器收到的我的测试请求:
将参数作为 json 发送会导致相同的结果:
无论我尝试什么,数据始终为空。这是我的路线配置:
你有什么想法,这里有什么问题吗?
c# - 如何更改放置在 [FromBody] 属性内的对象的名称?
我有NameModel
将在[FromBody]
属性中使用的类。我需要/我需要使用 Psswd 而不是使用“密码”一词。[JsonProperty]
属性仅在序列化时有效,但如果用户在正文中使用“密码”作为参数,则该属性无效。
问题是我希望将使用的参数放在正文中时仍然是“密码”。这可能吗?
这是在我的 ApiController 里面:
c# - 有没有办法使用 [FromBody] 属性进行嵌套模型绑定?
我正在尝试使用 JSON 对象作为主体进行 POST 请求。JSON 对象包含嵌套类型,这些嵌套类型是我正在使用的库中的预定义模型,但是当我使用 [FromBody] 属性时,只有根模型被绑定,而嵌套模型为空。
我试过不使用 [FromBody] 属性,但它也只绑定根级模型。
POST 对象示例:Foo 将是一个采用 Bar 对象的模型。Bar 将是一个具有属性 name 和 firstLetter 的模型。
控制器路由如下所示:
Request 类看起来像:
当我调用它时,Bar 将被分配,但它的 Name 和 FirstLetter 属性仍将为空。
编辑:我将在示例中添加列表,但我可能过于简化了。实际请求看起来更像:
其中 prop1、prop2、prop3、type 和 contactInfo 都是我正在使用的库中定义的模型。我正在尝试获取 ContactInfo 对象,到目前为止,当我逐步执行时,它可以将两个对象分配给 ContactInfo,但它们的属性(系统和值)都是空的。我检查了拼写和大小写,但没有问题。