问题标签 [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 投票
1 回答
157 浏览

angular - 参数字典包含空值,请求正文中存在参数

我正在尝试对POST我的 WebAPI 进行枚举。请求正文包含我的参数,控制器有一个[FromBody]标签。问题是即使参数在正文中,我也会收到空输入错误。

我有以下 api 控制器方法:

Direction文件中的枚举在哪里turtle.cs

我正在尝试使用以下内容POST从 Angular 指向 webapi 控制器:

html

服务.ts

Chrome中的请求+错误:

在此处输入图像描述

编辑 尝试使用字符串而不是int,没有运气:

在此处输入图像描述

0 投票
0 回答
146 浏览

c# - 为什么FromBody填充默认值,但DeserializeObject在传递空值时抛出错误(对于不可为空的数据类型)?

我正在.NET 中创建 POST API。我有以下课程。

以下是控制器方法。

第一种方法:-

第二种方法:-

问题是当我发送age=''age=null请求时,在第一种方法中,它需要,item.Age=0但在第二种方法中,它会抛出异常Error converting value {null} to type 'System.Int32'.

为什么会发生这种情况,我无法理解。

我的猜测是,在FromBody这种类型的对话中处理空值是句柄,但JsonConvert.DeserializeObject它没有被处理。

这样对吗?或者上层行为还有其他原因。

0 投票
2 回答
5449 浏览

c# - FromBody 收到的帖子导致可序列化错误

这是基本设置,我有一个 asp.net 核心 webapi 控制器(在 c# 中),它具有如下的 post 函数:

我正在尝试将以下原始 JSON 请求正文发送到此函数:

但是,当使用上面的正文向此函数发送发布请求时,我在服务器控制台中返回以下错误:

“执行 ObjectResult,写入 'Microsoft.AspNetCore.Mvc.SerializableError' 类型的值”

而客户端的这个错误

{ "": ["解析值时遇到意外字符:{. Path '', line 1, position 1." ] }

我尝试在函数的开头设置一个断点,但它甚至没有触发!为什么我会收到可序列化的错误?

0 投票
2 回答
23137 浏览

api - 在 Postman POST 请求中传递对象列表 -Body

我在API-HTTP POST请求中有这个语法

我想在 Postman 中测试它:我在标题中传递了授权和内容类型:

这就是我传递 WealthItems 列表的方式

在此处输入图像描述

[0].ExternalID 表示 WealthItems[0].ExternalID

我想这不是正确的传递方式。我有以下错误

任何帮助,将不胜感激 。

0 投票
1 回答
1359 浏览

c# - 从 React 将 Json 发布到 C# WebApi

我有一个 C# WebAPI 操作。我正在尝试使用 React 向它发布一个字符串(但一个 json 字符串化字符串)。

出于某种原因,当内容类型为应用程序/json 时,我得到了 405 Method Not Allowed。Urlencoded 确实进入 PostTransaction,但 body 始终为空。我需要更改什么才能在 PostTransaction 中获取 json?

网络配置

WebApiConfig

C# WebAPI

反应

jQuery 帖子

谢谢

0 投票
1 回答
1727 浏览

post - Web Api 2 [FromBody] Post 请求正文为 NULL

全部,

首先,我知道类似的问题已经被问过无数次了。其次,我没有 50 分(?!)来评论其中任何一个。第三,我不能使用“答案”来澄清我对这些帖子的问题 - 我收到警告,我将被禁止在未来回答任何问题。

于是只好再问。我已经尝试了所有可能的编码——全部 5 种,但我总是为下面的控制器的字符串 Post Body 得到一个 NULL。我正在使用 Swagger 进行测试。

得到工作正常。不知道发生了什么。欣赏是否有人可以复制/粘贴和测试并告诉我。使用 VS 2017

0 投票
0 回答
276 浏览

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?

0 投票
2 回答
2152 浏览

c# - 在 WebAPI 中读取动态对象 FromBody 不起作用

我找到了很多关于这个主题的信息,但是这些网站和文章都不能解决我的问题。我有一个非常简单的方法:

当我调用该方法时,它会填充前两个参数,但数据始终为空。这是服务器收到的我的测试请求:

将参数作为 json 发送会导致相同的结果:

无论我尝试什么,数据始终为空。这是我的路线配置:

你有什么想法,这里有什么问题吗?

0 投票
1 回答
581 浏览

c# - 如何更改放置在 [FromBody] 属性内的对象的名称?

我有NameModel将在[FromBody]属性中使用的类。我需要/我需要使用 Psswd 而不是使用“密码”一词。[JsonProperty]属性仅在序列化时有效,但如果用户在正文中使用“密码”作为参数,则该属性无效。

问题是我希望将使用的参数放在正文中时仍然是“密码”。这可能吗?

这是在我的 ApiController 里面:

0 投票
1 回答
942 浏览

c# - 有没有办法使用 [FromBody] 属性进行嵌套模型绑定?

我正在尝试使用 JSON 对象作为主体进行 POST 请求。JSON 对象包含嵌套类型,这些嵌套类型是我正在使用的库中的预定义模型,但是当我使用 [FromBody] 属性时,只有根模型被绑定,而嵌套模型为空。

我试过不使用 [FromBody] 属性,但它也只绑定根级模型。

POST 对象示例:Foo 将是一个采用 Bar 对象的模型。Bar 将是一个具有属性 name 和 firstLetter 的模型。

控制器路由如下所示:

Request 类看起来像:

当我调用它时,Bar 将被分配,但它的 Name 和 FirstLetter 属性仍将为空。

编辑:我将在示例中添加列表,但我可能过于简化了。实际请求看起来更像:

其中 prop1、prop2、prop3、type 和 contactInfo 都是我正在使用的库中定义的模型。我正在尝试获取 ContactInfo 对象,到目前为止,当我逐步执行时,它可以将两个对象分配给 ContactInfo,但它们的属性(系统和值)都是空的。我检查了拼写和大小写,但没有问题。