我使用的是ASP.NET Core2.0,我有一个像这样注释的请求对象:
public class MyRequest
{
[Required]
public Guid Id { get; set; }
[Required]
public DateTime EndDateTimeUtc { get; set; }
[Required]
public DateTime StartDateTimeUtc { get; set; }
}
在我的控制器中:
public async Task<IActionResult> HandleRequest([FromBody] MyRequest request)
{ /* ... */ }
null
但当我有这样的身体:
{
"hello": "a-string-value!"
}
null
当然,当我缺少所有
因此,在某种程度上,如果我的请求中没有任何内容,这些
在准备这个问题时,我注意到还有一个
那么,
是的,困难在于,如果您选择Required,web请求的客户端的语义会发生错误的变化--也就是说,当您真正需要一个正确的值时,您说您可以传入一个null。
使用JsonRequired对此进行排序,但这是由NewtonSoft提供的,因此当您升级到。NET Core3时将停止工作。这是因为。NET Core3使用自己的Json解析器而不是NewtonSoft。
当您使用
null
null
null
public class MyRequest
{
[Required]
public Guid? Id { get; set; }
[Required]
public DateTime? EndDateTimeUtc { get; set; }
[Required]
public DateTime? StartDateTimeUtc { get; set; }
}
现在,如果您发送的请求缺少
您应该首选
.NET核心和ASP.NET核心到底有什么区别?
我正在使用ASP.NET内核。我正在创建一个基本的WebAPI。我想在出现问题时显示一个JSON错误。 打印屏幕在我的屏幕上显示want I want。唯一的问题是它的发送状态码为200。 我可以通过这样做来解决问题: 真诚的,布莱希特
19.2 核心与核心模块 谈完了整个开机的流程,您应该会知道,在整个开机的过程当中,是否能够成功的驱动我们主机的硬件配备, 是核心 (kernel) 的工作!而核心一般都是压缩文件,因此在使用核心之前,就得要将他解压缩后,才能载入内存当中。 另外,为了应付日新月异的硬件,目前的核心都是具有“可读取模块化驱动程序”的功能, 亦即是所谓的“ modules (模块化)”的功能啦!所谓的模块化可以将他想
第二个编辑:在tsconfig.json的中添加之后,删除了导入和导出语句。不幸的是,这消除了我以前所做的改变的影响。我在中设置,以解决添加到所有文件顶部的问题。
javafx属性是将数据模型连接到javafx gui的好方法,因为它们的绑定模型实现了强大的通知更新机制。 属性和绑定并不严格地与GUI相关,而是对JavaBeans的扩展。 因此,我们希望在应用程序模型类中使用它们,而不引入对包的依赖关系,并且通常来自. 换句话说:(update) 我可能需要将应用程序分成两个模块。 一个模块应该只包含操作数据的类(模型类,说MVC)。 第二个模块将包含所有图
我目前正在尝试为客户端界面-服务器交互构建一个API。我已经决定使用ASP.NET核心作为API,Nginx作为托管平台(在Ubuntu 18.04上)。由于ASP.NET使用Kestrel,我们设置了一个反向代理,将请求从Nginx转发到Kestrel——也就是托管API的服务器。我们在NGINX服务器上设置了SSL,但是它没有在Kestrel服务器上设置。 简单地说,我不知道如何在 Kestr