asp.net-core - Swagger UI 显示 camelCase 参数而不是 PascalCase
问题描述
我在 Asp.Net Core 3.1 API 中使用 NewtonSoft.json 和 Swashbuckle.AspNetCore 版本 5.3.3。
默认情况下,在 Asp.Net Web API 中,2 个输入和输出参数大小写为 PascalCase。
现在我正在迁移到默认情况下为 camelCase 的 .Net Core API。
所以我通过在 Startup.cs 中添加以下代码将其更改为使用 PascalCase:
services.AddControllers()
.ConfigureApiBehaviorOptions(options =>
{
options.SuppressModelStateInvalidFilter = true;
})
.AddNewtonsoftJson(options =>
{
// Use the default property (Pascal) casing
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
});//Configure Newtonsoft as JSON serializer.
但在 Swagger UI 中,它以 camelCase 格式显示输入和输出参数,而 API 的响应包含 PascalCase 格式的值。
我用谷歌搜索,但在 AddSwaggerGen DescribeAllParametersInCamelCase() 中找到了一个方法,它将所有参数转换为 camelCase。
有 DescribeAllParametersInPascalCase() 方法吗?
如何配置 Swagger/Swashbuckle 以在 PascalCase 中显示输入/输出参数?
这是一个例子:
解决方案
您可以像这样配置 JsonSerializerOptions:
.AddJsonOptions(opt => opt.JsonSerializerOptions.PropertyNamingPolicy = null)
推荐阅读
- graphql - 我如何设置我的 ApolloServer 默认打开一个 graphql 游乐场而不是 apollographql 沙箱?
- .htaccess - 如果请求是实际目录,.htaccess 不会重写
- javascript - 检测 Img 元素 src 是否已更改然后执行操作
- python - 看门狗不能给函数参数
- python - 在 Python3.6 脚本中间使用 asyncio
- python - 在 Python 中将 cURL 存储为变量
- r - 重新排列数据框,使具有相似值的单元格位于同一列中
- haskell - 如何证明基本序列性质
- api - 在文件或数据库中配置?
- python - 无论如何我可以在不使用标记名的情况下获得 href 吗?