PUT 请求不会将 Snake 大小写转换为 Pascal 大小写

PUT Request Does not Convert Snake Case to Pascal Case

我正在尝试发送 PUT 请求,但出于某种原因我的 API 拒绝转换蛇形属性

请求如下所示:

其中 mercuryParserResponse 在 C# 中看起来像这样:

    [JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
    public class MercuryParserResponseDto
    {
        public string Author { get; set; }
        public string Content { get; set; }
        public DateTimeOffset DatePublished { get; set; }
        public string Direction { get; set; }
        public string Domain { get; set; }
        public string Excerpt { get; set; }
        public string LeadImageUrl { get; set; }
        public string Url { get; set; }
        [JsonProperty("word_count")]
        public int WordCount { get; set; }
        public string NextPageUrl { get; set; } // 
        public int RenderedPages { get; set; } // 
        public string Title { get; set; }
        [JsonProperty("total_pages")]
        public int TotalPages { get; set; }
    }

还有我的 API 端点

        [HttpPut]
        public async Task<IActionResult> Put(
            [FromBody]ImportArticleDto article,
            CancellationToken cancellationToken = default)
        {
            return null;
        }

article.MercuryParserResponse.WordCount 始终是 0(请注意 author 等单字属性正确显示)

为什么?为什么我的 Json 属性在这里不起作用?

来自 ,使用 JsonPropertyName 有效:

[JsonPropertyName("word_count")]

但是我真的不想把这个添加到每个单独的 属性

如果有人可以建议如何将此外壳应用于整个class我会接受你的回答