大佬教程收集整理的这篇文章主要介绍了ASP.Net Core 3.1 & JSON Patch (Newtonsoft) - 格式化日期,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 ASP.Net Core 3.1 API,其操作实现了 JsonPatch, 像这样:
public async Task<IActionResult> Patch(GuID customerID,[FromBody] JsonPatchdocument<CustomerPatch> request)
{
(...)
}
在启动时我有这个,以支持 JsonPatch:
public voID Configureservices(IserviceCollection services)
{
// (..)
services.AddControllersWithVIEws(options =>
{
var formatter = GetJsonPatchinputFormatter();
options.inputFormatters.Insert(0,formatter);
});
}
private static NewtonsoftJsonPatchinputFormatter GetJsonPatchinputFormatter()
{
var builder = new serviceCollection()
.AddLogging()
.AddMvc()
.AddNewtonsoftJson()
.services.
BuildserviceProvIDer();
var res = builder
.Getrequiredservice<IOptions<Mvcoptions>>()
.Value
.inputFormatters
.ofType<NewtonsoftJsonPatchinputFormatter>()
.First();
return res;
}
问题是,在我的 CustomerPatch 类中,我有两个 datetiR_845_11845@eOffset 类型的属性,当我使用这些用 offset 指定的属性执行补丁时,它们的值到达 Patch 方法已经搞砸了。示例:如果我执行包含 2021-04-27T07:41:40.040-07:41 的补丁,它会转换为 2021-04-27T16:22:40.040,因此似乎转换为 datetiR_845_11845@e。
挖了一会我发现,如果我将 AddNewtonsoftJson 行更改为以下内容,它会起作用:
.AddNewtonsoftJson((options) =>
{
options.serializerSetTings.DateParseHandling = DateParseHandling.datetiR_845_11845@eOffset;
})
我的问题是:这仅适用于 JsonPatch,还是适用于我所有项目的所有日期时间?
那么另一个问题:有没有什么方法可以将它仅应用于我想要的类上的属性?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的ASP.Net Core 3.1 & JSON Patch (Newtonsoft) - 格式化日期全部内容,希望文章能够帮你解决ASP.Net Core 3.1 & JSON Patch (Newtonsoft) - 格式化日期所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。