C# Web API POST 参数 FromBody 始终为 null

2024-03-15

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

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

这是我的代码:

// POST api/worksheets/post_event/true/false
        [Route("post_event/{newWorksheet}/{eindEvent}")]
        [HttpPost]
        public Event Post(bool newWorksheet, bool eindEvent, [FromBody] Event eventData)
        {
            return eventData;
        }

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

完整的请求正文是:

POST http://localhost:5000/api/worksheets/post_event/true/false
Content-Type: application/json
{"Persnr":1011875, "WorksheetId":null, "Projectnr":81445, "Uursoort":8678, "Tijd":{"09-08-2016 9:25"}}

作为参考,这是事件类:

public class Event
    {
        public long Persnr { get; set; }
        public int WorksheetId { get; set; }
        public int Projectnr { get; set; }
        public int Uursoort { get; set; }
        public DateTime Tijd { get; set; }
    }

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

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

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


您的 json 对象无效。我的建议是始终通过 json 解析器运行手动编写的 json 对象,如下所示:http://json.parser.online.fr/ http://json.parser.online.fr/

"Tijd":{"09-08-2016 9:25"}

应该是

"Tijd":["09-08-2016 9:25"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# Web API POST 参数 FromBody 始终为 null 的相关文章

随机推荐

  • 为什么 >= 有效但 => 无效?

    当检查一个整数是否等于或大于当前数字时 所以我输入 if 5 gt 6 Bla 但它显示这是一个错误 为什么 这不是完全一样吗 if 5 gt 6 Bla 它不起作用的原因是因为 gt 不等于 gt gt 用于拉姆达表达式 http msd
  • Nil 和 List 作为 Scala 中的 case 表达式

    此代码编译 def wtf arg Any arg match case Nil gt Nil was passed to arg case List gt List was passed to arg case gt otherwise
  • Java - split(regex, limit) 方法实际上如何工作? [复制]

    这个问题在这里已经有答案了 我试图了解 split 方法的工作原理 但对此有些困惑 在 oracle 文档页面给出的这个示例中 String str boo and foo String str1 str split o 2 Output
  • 如何在 AWS Lambda 函数中获取 AWS API Gateway 调用 URL?

    我正在将代理集成与 Java lambda 函数结合使用 lambda 处理程序的输入是一个表示传入请求的 JSON 对象 它有正文 标头 查询参数等 但它不包括 API 网关解析的正文的源 URL 查询参数等 有没有办法获取它 问题是 A
  • 姜戈树胡子 AL、NS、MP 之间有什么区别

    我正在尝试制作一个模型来对某些对象进行分类 我已经尝试使用 django mptt 轻松检索相关类别 现在我正在搜索不同的解决方案以找到最好的解决方案 我无法找出物化路径 邻接列表和嵌套集之间的主要区别 维基百科没有给我一个简短的答案 我所
  • 在 VB.Net 中获取 COM 对象的特定实例

    我正在 Net 中编写一个 Windows 窗体应用程序 以列出第三方 CAD CAM 软件 在本例中为 CATIA 的所有正在运行的实例 并让用户选择其中一个来执行几个自动化任务 为了执行自动化任务 我需要获取 COM 对象的特定实例 与
  • 我应该如何使用 Laravel 提供图像?

    我将用户个人资料图片存储在 laravel 存储文件夹而不是公共文件夹中 因为我想保持公共文件夹干净 避免用户混乱 为了从该文件夹提供图像 我创建了一个简单的控制器操作 如下所示 public function profilePicture
  • R:无法分配大于 x MB 的内存

    我在 R 中有一个 main 函数 它调用其他文件来运行我的程序 我通过bat文件 exe 调用主文件 当我逐行运行它时 它运行时不会出现内存错误 但是当我调用 bat 文件来运行它时 它会停止并给出以下错误 无法分配大于 51 MB 的内
  • 如何将 lex 文件中的 yytext 传递给 yacc?

    请我面临一个简单的问题 这就是问题 在我的 lex 文件中 我有类似的内容 char ptr String name BEGIN sName
  • Pandas Dataframe - 向下移动行并维护数据

    我的原始数据框 df column1 column2 0 1 a 1 2 b 2 3 c 3 4 d 4 5 e 5 6 f 我想将值向下移动 6 如下所示 column1 column2 0 1 2 3 4 5 6 1 a 7 2 b 8
  • 我可以更改 python 首先查找模块的顺序吗?

    假设我有一个脚本my tools py我作为模块导入 但my tools py保存两次 在C Python27 Lib并在运行执行导入的脚本的同一目录中 我可以改变python查找的顺序吗my tools py第一的 也就是说 首先检查它是
  • 如何将字符串与变量连接起来?

    所以我试图用字符串和传递的变量 这是一个数字 创建一个字符串 我怎么做 我有这样的事情 function AddBorder id document getElementById horseThumb id className hand p
  • Shiny DT:排序时冻结行名?

    我正在设计一个 Shiny 应用程序 根据各种指标对人们进行排名 使用数据排序功能 我希望用户能够单击任何列并按其排序 使用行名作为排名似乎很自然 问题是这些数字与表的其余部分一起排序 有什么方法可以冻结此列 以便在表的其余部分排序时排名数
  • 我无法在 main 方法中调用 repaint() 方法

    每次我尝试调用 repaint 方法时 它都会说静态方法不能引用非静态方法 顺便说一句 它与 PaintComponent 方法位于同一类中 我尝试首先从类中创建一个对象 然后使用对象名称引用它 但它也不起作用 请帮忙 public cla
  • 在 pandas 中使用 .loc 会减慢计算速度

    我有以下数据框 我想将底部 1 的值分配给新列 当我使用 loc 通知进行此计算时 使用 loc 分配大约需要 10 秒 而替代解决方案只需 2 秒 df temp pd DataFrame np random randn 10000000
  • 图像“包含”resizeMode 在本机反应中不起作用

    我正在真实的 Android 设备上使用 React Native 当创建一个非常简单的应用程序时 在主应用程序组件上仅使用以下渲染函数 render
  • 当“breaks”已经定义时,序列 x 轴标签(R,ggplot)

    我在数据上使用了scale 函数 以避免在进行混合模型时出现高相关性 现在我希望原始值出现在我的图中 所以我用以下方法反转了缩放比例x attr x scaled scale attr x scaled center 并将这些值放入我用来绘
  • 文本字段上的颤动光标位置

    我想在光标位置后附加文本 例如 当用户将光标移动到文本字段中间时 我想获取文本上的光标位置 然后在光标位置后添加文本 我尝试使用文本编辑控制器 但无法到达光标位置 如何检测文本字段上的光标位置 我用这个解决了我的问题 Get cursor
  • ggplot2中的上标和下标轴标签[重复]

    这个问题在这里已经有答案了 我需要 ggplot2 中的一个轴标签 其内容为 同化 mol CO2 m 2 s 1 其中 CO2 的 2 作为下标 2 和 1 作为上标 谢谢 你可以尝试 library ggplot2 qplot upta
  • C# Web API POST 参数 FromBody 始终为 null

    我已经在网络上搜索了几个小时 并尝试了 StackOverflow 上描述的许多不同的解决方案 我知道以前曾有人问过类似的问题 但没有一个答案或评论对我有用 问题 我有一个 NET Web API 它有一个带有一些参数的 Post 方法 其