小编mis*_*tch的帖子

当 JsonSerializerOptions.PropertyNamingPolicy 没有效果时,如何在 Minimal API 中使用 Results.OK 时设置 JSON PropertyNamingPolicy?

我正在使用最小 API 来重新创建旧的 REST 服务,因此我需要尽可能模仿以前服务的功能。旧服务中的信息返回帕斯卡大小写,我知道有一些旧客户端区分大小写。开箱即用的 .NET 6 在网络上序列化为驼峰式大小写,但可以使用以下代码覆盖:

builder.Services.Configure<JsonOptions>(options =>
{
    options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
Run Code Online (Sandbox Code Playgroud)

如果设置了断点,我可以看到策略最初设置为驼峰式大小写,然后重置为空。如果我随后使用JsonSerializer.Serialize它,它会按预期工作。唯一的问题是,如果我使用Results.OK(colection)它,就会回到驼峰式大小写,就好像它忽略了选项设置一样。我可以在模型类上使用声明性属性设置所有属性名称,并且按预期工作,因此内联声明可以工作,但在服务级别上的设置却不能。那么,“Results.OK”响应管道正在查看哪些选项?

编辑:更正的方法名称

c# jsonserializer system.text.json .net-6.0 minimal-apis

4
推荐指数
1
解决办法
2378
查看次数