禁用单个 .NET Core API 操作的模型验证

2023-12-22

我有一个 API 控制器,用于在我正在开发的应用程序上执行自动保存。它使用与视图相同的视图模型,其中有许多必填字段。如果用户在保存表单时未填写表单,则自动保存控制器可能需要保存不被视为有效的模型。默认情况下,.NET Core 控制器声明为[ApiController]属性将自动强制验证。我知道我可以像这样禁用它Startup.cs:

services.Configure<ApiBehaviorOptions>(options =>
{
     options.SuppressModelStateInvalidFilter = true;
});

但这将适用于项目中的所有 API 控制器。是否可以仅禁用此默认验证one控制器还是动作?到目前为止我发现的所有内容都指示我使用上面的代码,但这并没有实现我正在寻找的东西。


与 Poke 的答案类似,我建议对您不希望验证的操作使用不同的模型。然而,我不会创建模型的副本,而是从经过验证的模型中派生并添加[ValidateNever]属性,例如

[ValidateNever]
public class MyUnvalidatedModel : MyValidatedModel {
}

这将使您避免大量重复,同时仍然为您提供未经验证的模型版本。

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

禁用单个 .NET Core API 操作的模型验证 的相关文章

随机推荐

  • 使用 Api Gateway 和 Lambda 导出 CSV

    我想做的事 我想做的是有一个 url 它将返回给调用者一个 CSV 文件 该文件本质上是数据的导出 我希望这仍然是一个无服务器解决方案 我做了什么 我已经使用我想要的 URL 创建了一个 AWS API Gateway 我创建了一个 lam
  • Nuxt 和 vue 中的 Data() VS asyncData()

    Both data and async data 给出相同的结果 很明显 结果来自asyncData 覆盖结果data 两者都会在源代码中生成 HTML 代码 即在服务器端呈现的代码 此外 两者都可以用于 await 要获取的数据 例如 使
  • 使用 Python 创建动态更新图

    我需要用Python编写一个脚本 该脚本将获取动态更改的数据 数据源在这里并不重要 并在屏幕上显示图形 我知道如何使用 matplotlib 但 matplotlib 的问题是我只能在脚本末尾显示一次图形 我不仅需要能够一次显示图表 而且还
  • 自定义 VariableListener 更新多个影子变量

    我正在阅读有关影子变量和自定义变量侦听器的文档 我想知道我在理解它们如何工作方面是否走在正确的轨道上 复制自 OptaPlanner 文档第 4 3 6 4 节 自定义变量监听器 如果一个 VariableListener 改变了两个影子变
  • 为模拟输入设备编写 Windows 驱动程序

    我的应用程序需要充当虚拟操纵杆 想象一下用鼠标拖动一个正方形并将其转换为模拟操纵杆的输出 并通过网络将一些击键发送到另一台计算机 驱动程序将在其中接收该输入 我只需要支持XP Vista和Win7 也许不用写驱动程序就可以完成 我尝试使用
  • 自定义 Spring boot 启动器中是否可以有默认的 application.yml ?

    我面临着我的自定义 Spring Boot 启动器和用作依赖项的 Spring Boot 应用程序使用者的问题 我在两个 application yml 中都有 但似乎我正在寻找的配置只有在消费者中定义时才存在 我在启动器中的配置是这样的
  • Qt 信号和槽:引用参数是否被复制?

    在qt框架中 大多数库信号和槽都使用指针作为参数 我想知道 如果我创建一个信号槽 结构 将引用作为参数而不是指针 是否会复制整个参数 或者像常规 c 引用一样仅复制 4 个字节 32 位系统 我问这个问题是因为当我使用参考参数创建信号 槽方
  • 两幅图像碰撞的问题

    嗯 这是我的问题 我有两个图像 flakeImage 和 ViewToRotate 我想要的是 如果 flakeImage 触及 ViewToRotate ViewToRotate alpha 0 5 但是当FlakeImage出现在屏幕上
  • 如何反转 Eloquent Has One 和 Has Many Through (laravel 5.8)?

    I have three relational table attached below https drive google com file d 1q1kdURIwFXxHb2MgdRyBkE1e3DMug7r view usp sha
  • C# 中的日期比较

    我目前正在做一个小项目 但遇到了一个小问题 我希望我的程序调用一个方法CheckDate启动时 这个方法会读入 txt文件以查看上次保存的日期 年 月 日 格式 然后它会将其与今天的日期进行比较 如果不一样 请继续执行一些说明 我已阅读该文
  • cudaMalloc总是给出内存不足

    我面临一个简单的问题 我对 cudaMalloc 的所有调用都失败 给我一个内存不足错误 即使它只是我分配的一个字节 cuda 设备可用 并且还有大量可用内存 机器人通过相应的调用进行检查 知道问题出在哪里吗 请尝试在代码本身的开头调用 c
  • 结构图,其中组的每个成员都连接到 r 中的中心和所有集群中心

    我正在尝试根据数据创建结构图 如下所示 mydf lt data frame group rep 1 5 each 20 z rnorm 20 10 1 x c rnorm 20 2 0 5 rnorm 20 2 0 5 rnorm 20
  • 打印所有层的输出

    给定以下模型 如何打印所有层值 const input tf input shape 5 const denseLayer1 tf layers dense units 10 activation relu const denseLayer
  • 为什么“Foo f(Bar());”可以是采用 Bar 类型并返回 Foo 类型的函数的声明吗? [复制]

    这个问题在这里已经有答案了 我遇到了这个C 问题 问题 以下是定义还是声明 Foo f Bar 答案 它可能是一个采用 Bar 类型并返回 Foo 类型的函数的声明 或者它是一个定义f作为一种类型Foo 它有一个采用 Bar 类型的构造函数
  • 汇编代码生成如何工作?

    我最近一直在研究编译器设计 我已经成功地掌握了解析阶段 但在理解代码生成的工作原理方面遇到了一些困难 根据我的阅读 代码生成阶段似乎有 3 个主要步骤 指令选择 贪婪平铺 指令调度 寄存器分配 现在 指令调度有点超出了我目前正在尝试做的事情
  • Android使用TextWatcher替换单词

    我有一个editText 你在里面写了一些东西 然后当你点击下一步时 你写的文本被写入另一个editText中 它运行完美 但我想用textWatcher来替换一些字母 示例 如何使 S 变为 或 O 为 UPDATE final Edit
  • 会话和子域

    我一直在尝试让我的会话在我的子域上运行 我很确定我在周一可以工作 但在周二添加一些代码后 周三就无法工作了 我已经使用了代码ini set session cookie domain domain where domain example
  • 如何更改comboBox.SelectedIndexChanged 事件中的comboBox.Text?

    代码示例 private void comboBox SelectedIndexChanged object sender EventArgs e if some condition comboBox Text new string 我的问
  • 查询 django 迁移表

    如何从视图中查询 django migrations 表 例如 我已经尝试过 当然不起作用 from django db import migrations latest migration migrations objects all o
  • 禁用单个 .NET Core API 操作的模型验证

    我有一个 API 控制器 用于在我正在开发的应用程序上执行自动保存 它使用与视图相同的视图模型 其中有许多必填字段 如果用户在保存表单时未填写表单 则自动保存控制器可能需要保存不被视为有效的模型 默认情况下 NET Core 控制器声明为