将 Asp.Net 核心 2.2 应用迁移到 3.1 时的整数序列化



我正在将 Asp.Net Core 2.2 Web API 迁移到 3.1

我注意到现在System.Int32现在由System.Text.Json序列化为字符串

之前 (2.2(:

{id: 1, ..}

在 (3.1( 之后:

{id: "1", ..}

编辑id 是 C# 中的 int 属性

因此,需要更改使用 Web API 的 Js - 我不急于进行的非常繁重的迁移。

我找到了以下选项:

  1. 保持牛顿软件 Json.Net 以进行序列化

    这是一个解决方案。但我想跟上最新的技术!

  2. 为整数提供自定义转换器

    它似乎在我的情况下不起作用

有没有办法告诉System.Text.Json中的新Json序列化程序将整数序列化为42而不是"42"?

在阅读了Hostel的建议并从新的Web Api ASP.NET Core 3.1应用程序进行了检查并看到了预期的行为后,我将我的Startup.cs与Visual Studio模板应用程序进行了比较。

我刚刚在Startup.ConfigureServices中添加了

services.AddControllers();

尽管缺乏缺少的服务,但控制器"工作"了,但没有达到预期。

也许是因为存在另一种添加其他服务的扩展方法。

感谢大家的仔细阅读、评论和提问

相关内容

  • 没有找到相关文章

最新更新