首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用ASP.NET Core 2.0 建立规范的 REST API -- DELETE, UPDATE, PATCH 和 Log

一起删除主从资源 这种情况也很常见,在删除Country资源的同时,把它的子资源City也删掉。 ? 这个很简单,由于EFCore做了很多工作,就不需要在删除主资源的时候手动去删除它所有的子资源了。...更新集合资源 跟删除集合资源一样,针对某个路由进行集合请求是合法的,但是这也意味着传进来的集合要整体代替原有的集合,也就是说原有集合里面的对象都应该删除,然后传进来集合的对象挨个再添加进去。...).aspx (这种方式比较简单,但是把验证和Model混合到了一起,所以很多人还是不采用这种方式的)。...使用FluentValidation 安装FluentValidation,可以通过Nuget,Package Manager Console 或者 .net cli: 直接安装这个就可以: ?...PATCH的验证 PATCH与POST和PUT的验证稍微有一点不同,首先看一个例子,删除一个不存在的属性的值: ? 这个会导致返回500错误,这是不对的。

1.9K20

FluentValidation在C# WPF中的应用

,而且优雅,支持链式操作,易于理解,功能完善,还是可与 MVC5、WebApi2 和 ASP.NET CORE 深度集成,组件内提供十几种常用验证器,可扩展性好,支持自定义验证器,支持本地化多语言。...其实它也可以用于WPF属性验证,本文主要也是讲解该组件在WPF中的使用,FluentValidation官网是: https://fluentvalidation.net/ 。...调研中遇到的问题unsetunset 简单属性:验证ViewModel的普通属性比较简单,可以参考FluentValidation官网 ,或者国外holymoo大神的代码: UserValidator.cs...集合类 - Field 此类用作ViewModel中的集合项使用,模拟动态表单数据校验,简单包含4个属性:字段名称、字段显示名称、数据类型、数据值,表单主要根据数据类型验证输入的数据值是否合法。...ViewModel - StudentViewModel StudentViewModel与Student实体类结构类似,都需要实现IDataErrorInfo接口,该类由一个简单的string属性(Title

19110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在 ASP.NET MVC 中集成 AngularJS(3)

    如果该业务对象验证失败,业务层可以从验证库返回错误的集合,并发送错误收集结果到客户端,以便浏览器端错误信息的呈现。...我只是想使所有这些集成起来工作,我不会停止努力。 你可以争论在 ASP.NET 中使用捆绑和缩功能和在 Grunt 与 Gulp 部分使用流行的压缩工具,其各自的优点。...这种先进的 HTML 混合的移动应用框架很可能可以和 Apache Cordov 一起工作使用。...ASP.NET MVC开发时,可以借助 ComponentOne Studio ASP.NET MVC 这一款轻量级控件,它与 Visual Studio 无缝集成,完全与 MVC6 和 ASP.NET...5.0 兼容,将大幅提高工作效率;AngularJS 开发时,可以借助 Wijmo 这款为企业应用程序开发而推出的一系列包含 HTML5 和 JavaScript 的开发控件集,无论应用程序是移动端、

    1.8K100

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://docs.microsoft.com...view=aspnetcore-5.0&tabs=visual-studio Razor Pages 没有 Controller,Model 中可以包含方法 ?...例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个值。编写代码以检索这些值,并将其从字符串转换为 .NET 类型不仅繁琐,而且还容易出错。 模型绑定会自动化该过程。...body")] public IActionResult CreateOption([FromBody] string name) { return Ok(name); } 复杂的数据绑定 对象 集合...[RegularExpression]:验证属性值是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。

    2.5K10

    .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https://docs.microsoft.com...view=aspnetcore-5.0&tabs=visual-studio Razor Pages 没有 Controller,Model 中可以包含方法 21.jpg ASP.NET Core...例如,路由数据可以提供一个记录键,而发布的表单域可以为模型的属性提供一个值。 编写代码以检索这些值,并将其从字符串转换为 .NET 类型不仅繁琐,而且还容易出错。 模型绑定会自动化该过程。...body")] public IActionResult CreateOption([FromBody] string name) { return Ok(name); } 复杂的数据绑定 对象 集合...[RegularExpression]:验证属性值是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。

    2.6K11

    如何重构和清理 .NET 代码:编写安全且可维护的代码

    错误代码 让我们从 .NET 中订单处理工作流的基本示例开始。此示例存在几个影响可读性、可维护性和安全性的问题。我们将以此为起点,并在整篇文章中将其转换为干净、可维护的代码。...我们将使用 MediatR 来处理命令和查询,将业务逻辑与控制器解耦。...进行订单验证 使用 FluentValidation 使我们能够编写干净且可重用的验证逻辑,这些逻辑可以很容易地进行单元测试并在整个应用程序中应用。...用于管理事务和存储库交互的工作单元模式。 带有 MediatR 的 CQRS,用于处理命令、解耦操作并实现可扩展性。 FluentValidation 用于可重用、可测试的验证逻辑。...控制器中 MediatR 命令的示例用法 设置 MediatR 后,控制器可以轻松发送命令并处理响应。

    6710

    C#开发者的顶级工具和框架

    工作原理 NCrunch 在与你的集成开发环境(IDE)所用不同的 CPU 核心上,于后台运行你的测试。这使得你在 NCrunch 执行测试时能够不受干扰地继续工作。...如果你需要更强的功能,NCrunch 可以利用分布式处理扩展到其他机器上运行。 安装 从官方网站下载并安装 NCrunch。 按照安装说明将其与 Visual Studio 进行集成。...工作原理 StyleCop 与你的开发环境相集成,在你编写代码时对其进行分析。它依据一组预定义规则来检查你的代码,并针对任何违反规则的情况提供反馈。这有助于在整个项目中保持一致的编码风格。...工作原理 Hangfire 允许你创建和管理后台作业。这些作业可以被安排在特定时间或按照特定时间间隔运行,并且 Hangfire 能确保它们可靠地执行。...工作原理 NUKE 允许你使用 C# 定义构建脚本。这些脚本可以包含诸如编译代码、运行测试以及部署应用程序等任务。

    8600

    EF Core 数据验证

    数据验证是每个项目必须存在的,可以防止不符合系统规范的数据进入系统进而导致系统不稳定甚至崩溃。...我们可以自己编写代码(包括前台和后台代码)进行验证,但是这样一方面代码量较大,另一方面有可能验证代码覆盖不完全。...这时我们可以使用第三方扩展,在 EF Core 中常用的模型数据验证第三方扩展是 FluentValidation.AspNetCore 。在使用前我们需要在 NuGet 中下载此扩展。...我们定义完验证规则后下一步就是将我们定义的验证规则与应用程序连接起来,这里我们需要用到 AddFluentValidation 来注入,例如在 Asp.Net Core 程序中我们将注入程序写入 Startup...如果需要验证实体集合就需要使用 RuleForEach 方法即可,对于自定义验证规则则可使用 SetValidator 方法。

    1.2K20

    告别预编译,CSS 直接写嵌套的日子就要来临~

    点击上方“IT平头哥联盟”,选择“置顶或者星标” 与你一起成长~ ?...CSS工作组的讨论流程 1.要支持原生嵌套 嵌套的样式规则是一个普遍的诉求 现存的 CSS 预处理器都支持写嵌套,且它是最受欢迎的功能之一 有了原生嵌套,就可以不用预处理器了 2.决定仅增加嵌套语法糖...& */ .foo { color: red; @nest & .bar, .baz { color: blue; }}/* 无效原因:列表里并非所有的选择器都包含嵌套选择器 & */ 你有想说的吗...看完本篇文章,你有什么想说的吗?欢迎留言。 当然,你也可以去 CSS 工作组的官方 github 上 w3c/csswg-drafts 提 Issue。...特此说明 - end - 用心分享 一起成长 做有温度的攻城狮 公众号回复[ 资源 ] 获取666G学习资源

    1.4K40

    Android开发3年,九月份面试12家大厂跳槽成功,我有一些面试经验想分享给你们

    建议用掌握与熟练掌握取代了解与精通。 刷题 算法题可以说是现在找工作必刷的了。不过根据我面试的经验,算法题总得来说问的还是比较少,还有一些公司是基本不问算法的。...如果让你来开发B站的一个页面,哪一个页面可以很快入手 性能优化你做过什么工作? h5与native通信你做过什么工作? 插件化的主要优点和缺点是什么? 你觉得B站目前的APP有什么问题?...binder进程间通信可以调用原进程方法吗? mvp与mvvm有什么区别? token放在本地如何保存?如何加密比较好?...反射可以反射final修饰的字段吗? Activity与AppCompactActivity区别,Activity会打包到包里面去吗?...这份资料把大厂面试中常被问到的技术点整理成了 PDF ,包知识脉络 + 诸多细节;还有 高级架构技术进阶脑图 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

    1.6K10

    Google Earth Engine(GEE)——容易犯的错误1(避免将客户端函数和对象与服务器函数和对象混合)

    有关 地球引擎中客户端与服务器的深入解释,请参阅此页面和/或本教程。以下示例说明了混合客户端和服务器功能的危险: 错误— 此代码不起作用!...; } 能发现错误吗?请注意,这table.size()是服务器对象上的服务器方法,不能与客户端功能(如一起使用。...使用面板构建嵌套小部件的复杂组合。 面板可以添加到 ui.root 但不能使用 print() 打印到控制台。 A widget that can hold other widgets....filter()基于计算或现有属性和print()结果的集合。...请注意,您无法打印包含超过 5000 个元素的集合。如果您收到“累积超过 5000 个元素后集合查询中止”错误,filter()或limit()打印前集合。

    22510

    Java 面试问题大全

    finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常。 47)Java 中的编译期常量是什么?...d)使用迭代器来循环集合。e)使用集合的时候使用泛型。 78)说出至少 5 点在 Java 中使用线程的最佳实践。 这个问题与之前的问题类似,你可以使用上面的答案。...你可以在同一个类中重载方法,但是只能在子类中重写方法。重写必须要有继承。 120)Java 中,嵌套公共静态类与顶级类有什么不同?...类的内部可以有多个嵌套公共静态类,但是一个 Java 源文件只能有一个顶级公共类,并且顶级公共类的名称与源文件名称必须一致。 121) OOP 中的 组合、聚合和关联有什么区别?...一个公共的顶级类的源文件名称与类名相同,而嵌套静态类没有这个要求。

    92240
    领券