swagger-ui - 为 c# 对象上的属性名称关闭 CamelCase
问题描述
这是 DTO C# 类:
public class WeatherForecast
{
public string DateFormatted { get; set; }
}
这是在招摇定义中生成的:
{"WeatherForecast":{"type":"object","properties":{"dateFormatted":{"type":"string"}}}}
问题是当我生成一个 XML 示例时:
<?xml version="1.0" encoding="UTF-8"?>
<WeatherForecast>
<dateFormatted>string</dateFormatted>
</WeatherForecast>
问题是当我将该 XML 发送回 API 时,它不会填充 DateFormatted 属性。如果我更改大小写以使其不再是 CamelCase (DateFormatted),则它可以正常工作,并且该属性将填充“字符串”。
生成 swagger 定义时如何关闭 CamelCase?
解决方案
在 aspnet 中默认情况下驼峰属性名称,因此您可以Startup
从
services.AddMvc();
至
services
.AddMvc()
.AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());
参考:aspnet
推荐阅读
- .net - 如何处理 PostgreSQL 的 timestamptz 中的 TIMEZONE
- javascript - Discord.js 通过现有函数删除消息
- bash - 在 bash 中配置配置文件
- r - 如何找到下一步要走
- apache - .htaccess 重写 - 删除所有扩展
- sql - SQL CASE 表达式
- excel - 粘贴到 Excel ActiveX 组合框
- java - 如何替换所有非字母字符并保留空格?
- c# - 如何使用 C# 删除 xml 文件中的父节点和 xml 声明?
- snowflake-cloud-data-platform - 我可以根据雪花中的模式名称获取数据库名称吗