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我会接受你的回答
我正在尝试发送 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我会接受你的回答