Asp.net Core 模型绑定器接受布尔类型的随机整数

2024-01-16

鉴于模型具有布尔属性:

public class Person
{
    public string Name { get; set; }
    public bool IsMale { get; set; }
}

当尝试发布以下有效负载时:

{
    "name": "Bob",
    "isMale": 12345 // any random integer
}

一个简单的动作:

[HttpPost]
public IActionResult Post([FromBody] Person person)
{
    if (ModelState.IsValid)
        return Ok();
    return BadRequest(ModelState);
}

The person.IsMale属性的值是true.

如果通过isMale: "foobar"我收到无效类型错误

如果通过isMale: "0"我收到无效类型错误

如果通过isMale: "1"我收到无效类型错误

如果通过isMale: "True" i get true

如果通过isMale: "False" i get false

如果通过isMale: 0 i get false

如果通过isMale: 1 i get true

如果通过isMale: 34(随机整数)我得到true

问题:

为什么它认为随机整数默认为true以及如何改变这种行为来抱怨传入的类型不合适(int而不是bool)?


从你的例子来看,任何不是的数值0被解释为true这一点也不奇怪。

引用的版本"0" and "1" are string类型,不能直接解析为bool.

请参阅文档bool.Parse(string) https://learn.microsoft.com/en-us/dotnet/api/system.boolean.parse?view=netframework-4.8.

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

Asp.net Core 模型绑定器接受布尔类型的随机整数 的相关文章

随机推荐

  • 如何在本地加载 wasm 模块?

    我正在尝试使用 JavaScript 和 WebAssembly 制作一个简单的 独立的 只有一个 html 文件和一个 wasm 文件 离线数据可视化 但是 我在从本地文件加载 WASM 模块时遇到问题 第一个麻烦是CORS 尝试使用亲戚
  • 使用rentrez从pubmed中解析出作者和隶属关系

    我的总体目标是构建一个共同作者网络图 我有一份 PubMed ID 列表 这些是我唯一对绘制合著者网络图表感兴趣的出版物 我不知道如何使用rentrez 在查询中将作者姓名和各自的隶属关系放在一起 我可以获得这两个信息 但我的隶属关系列表比
  • 在 Python 中使用正则表达式替换除特定元素之外的所有元素

    在Python中使用正则表达式 我试图删除字符串中的所有XML类型元素 除了那些包含QUOTE的元素 例如
  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • 我应该如何本地化现有的 JavaScript Web 应用程序?

    我有一项非常棘手的任务要做 有一个现有的 Web 项目 2 个 HTML 文件 一些插件和一个包含大约 2000 行代码的主要 JavaScript 文件 我现在必须对其进行本地化 毫无疑问 这应该早点考虑到 但他们只是错过了 您将如何寻找
  • 为什么 R 和 Python 之间得到不同的 RandomForest 结果?

    我正在尝试比较使用 R 和使用 Python 的随机森林模型的结果 我要比较的模型性能的关键衡量指标是 AUC ROC 曲线下面积 原因是 AUC 值代表预测值 即概率 的分布 我确实发现 R 和 Python 之间的 AUC 值存在一些显
  • 如何在不使用 Java 中的日历并且没有时间戳的情况下获取昨天的日期? [复制]

    这个问题在这里已经有答案了 我写了一个方法来获取当前日期的格式yyyy MM dd并希望能够创建另一种方法来获取昨天的日期 即当前日期的前一天 所有这些需要的是日期而不是时间戳 我不想使用Calendar以及 我这样设置当前日期 publi
  • phpmyadmin启用删除数据库语句

    我的托管提供商提醒我 我超出了 1000 桌限制 我有很多数据库 想一次删除更多 不幸的是 他们没有多选功能 所以我决定在 phpmyadmin 中使用查询 当我尝试类似的事情时DROP database some name I get D
  • 如何计算手机从静止状态到垂直方向的移动量?

    我正在使用 android 操作系统开发一个应用程序 我需要知道如何计算设备在垂直方向上的移动 例如 设备处于静止状态 A点 用户将其拿在手中 B点 现在A点和B点之间存在高度变化 我将如何计算 我已经阅读了有关传感器和加速度计的文章 但我
  • CodeBehind 中的动态上下文菜单

    我只想为我动态创建的几个对象添加 ContextMenu 但是 我发现的唯一方法是在运行时创建 ContextMenu 如下所示 ContextMenu pMenu new ContextMenu MenuItem item1 new Me
  • 如何在 Doxygen 示例中保留注释

    我有一个简单的方法 带有一条注释 我想在我的 doxygen 主页中用作示例 code void showNum int numToDisplay This is just a method to display a value std c
  • 有没有办法对打印媒体和默认布局使用相同的 CSS 样式表?

    我正在寻找一种方法 为打印媒体使用与默认屏幕布局相同的样式表 对我来说的好处是我不必每次更新 CSS 时都更新 2 个文件 我更喜欢有一个样式表 并通过以某种方式表示它们来指定印刷媒体的特殊规则 这可能是不可能的 但我想我应该把问题放在那里
  • Python - 解析 Json 和 XML 哪个更快? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 更改 php 中检索到的日期的时区

    我正在从数据库中检索格式为 2013 09 15 08 45 00 的日期 该日期是在 UTC 中设置的 我需要将其更改为另一个动态时区 基于用户 到目前为止我已经 datetime row gt field data field perf
  • 乌龟的笔触可以改变吗?

    我需要使用 Python 的海龟图形来绘制条形图 我认为简单地将笔做成粗正方形会更容易 这样我就可以像这样绘制条形图 而不必担心制作数十个矩形并填充它们 当我使用设置乌龟形状时turtle shape square 不过 它只会改变笔的外观
  • Pycharm Django 调试真的很慢

    我有一个中等大小的网站 但 PyCharm 需要大约 30 秒才能启动 Runserver 并准备好运行应用程序 如果我 运行 应用程序而不是 调试 则启动只需大约 3 秒 我可以做哪些事情来加快代码更改和调试周期 我使用的是带有 16Gb
  • Cassandra 节点几乎空间不足,但 Nodetool 清理正在增加磁盘使用?

    我们的一个节点的磁盘使用率为 95 我们向集群添加了另一个节点 希望能够重新平衡 但该节点上的磁盘空间并没有下降 我尝试执行nodetool cleanup 假设节点上有多余的键 但磁盘空间正在增加 清理真的会减少尺寸吗 是的 会的 但是您
  • 验证出生日期并检查年龄[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的表单中 我使用下拉菜单来显示日 月 年 你能帮我验证一下日期吗 我必须验证输入的年龄是否大于 15 岁 还要检查闰年等 PHP
  • 如何在react中不添加url的情况下导航到特定路线

    我在用着react router我有一些嵌套的路线 stories and stories storyId 现在我的问题是我有一个组件是一个单一的故事并使用这个特定的storyId导航至路线 stories storyId 单击它即可查看该
  • Asp.net Core 模型绑定器接受布尔类型的随机整数

    鉴于模型具有布尔属性 public class Person public string Name get set public bool IsMale get set 当尝试发布以下有效负载时 name Bob isMale 12345