WTM .NET 6解决返回字段全部是字符串问题

最近计划用wtm和volcore给一款漂亮的拖拽大屏系统做一下.NET后台服务。哎,不得不说java的后端还真是多,简直无处不在,人的代码也写的挺整洁不错的。

一、遇到问题

在用wtm生成的api和goview对接的过程中发现,总是在报错。和goview对着我写接口返回数据一看,全是字符串。他的项目还用的ts,这特么的囧的。我试了各种办法,例如直接返回list数据、改成return Json呀什么的等等一通操作。最后一看配置文件,刘总在options.UseWtmJsonOptions()的配置中,居然全部采用转字符串策略。

public static void UseWtmJsonOptions(this JsonOptions options)
        {
            options.JsonSerializerOptions.PropertyNamingPolicy = null;
            options.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
            options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString;
            options.JsonSerializerOptions.AllowTrailingCommas = true;
            options.JsonSerializerOptions.Converters.Add(new DateTimeConverter());
            options.JsonSerializerOptions.Converters.Add(new StringIgnoreLTGTConverter());
            options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
            options.JsonSerializerOptions.Converters.Add(new BoolStringConverter());
            options.JsonSerializerOptions.Converters.Add(new DateRangeConverter());
            options.JsonSerializerOptions.Converters.Add(new PocoConverter());
            options.JsonSerializerOptions.Converters.Add(new TypeConverter());
            options.JsonSerializerOptions.Converters.Add(new DynamicDataConverter());
            CoreProgram.DefaultJsonOption = options.JsonSerializerOptions;
            JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions();
            jsonSerializerOptions.PropertyNamingPolicy = null;
            jsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString;
            jsonSerializerOptions.AllowTrailingCommas = true;
            jsonSerializerOptions.Converters.Add(new DateTimeConverter());
            jsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
            jsonSerializerOptions.Converters.Add(new BoolStringConverter());
            jsonSerializerOptions.Converters.Add(new DateRangeConverter());
            jsonSerializerOptions.Converters.Add(new PocoConverter());
            jsonSerializerOptions.Converters.Add(new TypeConverter());
            jsonSerializerOptions.Converters.Add(new DynamicDataConverter());
            CoreProgram.DefaultPostJsonOption = jsonSerializerOptions;
        }

看了半天官方文档,完全不会解决,最后没啥办法了,只能求救刘总。

二、解决办法

刘总 一句话直接搞定,就是在配置文件中加一个设置,覆盖框架默认的设置。

options.JsonSerializerOptions.NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.Strict;

加上之后在测试,直接解决问题。这个时候,return Ok也是完全没问题的。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值