Swagger接口文档中,如何设置参数序列化组件为Newtonsoft.Json?
- 内容介绍
- 文章标签
- 相关推荐
本文共计391个文字,预计阅读时间需要2分钟。
.Net Core 5.0 内置 Swagger,可生成接口文档。若接口文档中属性名称与接口中定义不同,或大小写不一致,使用 Nuget 包 Swashbuckle.AspNetCore.SwaggerGen 版本大于 5.0,可解决此问题。
.Net Core 5.0 内置 Swagger,如果Swagger 接口文档与你接口中对象属性定义的名称或大小写不同,并且所使用 Nuget 包 "Swashbuckle.AspNetCore.SwaggerGen" 版本大于 5.0 ,那么此篇文章或许对你有用
原因:Nuget 包 "Swashbuckle.AspNetCore.SwaggerGen" 5.0之后的版本不再默认使用 Newtonsoft 进行序列化,详细原因Swagger GitHub Readme有解释,地址:domaindrivendev/Swashbuckle.AspNetCore: Swagger tools for documenting API's built on ASP.NET Core (github.com)
如果你需要指定Swagger 使用Newtonsoft.Json 进行序列化以使用自定义的 JsonProperty 描述你的属性实际序列化名称,那么你可以安装
Swashbuckle.AspNetCore.Newtonsoft Nuget包来指定 Swagger 的序列化组件。
1 Package Manager : Install-Package Swashbuckle.AspNetCore.Newtonsoft -Version 6.3.0 2 CLI : dotnet add package --version 6.3.0 Swashbuckle.AspNetCore.Newtonsoft
并在服务注册处添加使用AddSwaggerGenNewtonsoftSupport() 方法来指定其使用 Newtonsoft.Json
1 services.AddMvc(); 2 3 services.AddSwaggerGen(c => 4 { 5 c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); 6 }); 7 services.AddSwaggerGenNewtonsoftSupport(); // explicit opt-in - needs to be placed after AddSwaggerGen()
重新启动服务后,你会发现 Swagger 接口文档内的对象名称全部和你的代码内的 JsonProperty 属性定义的一模一样了,嘿嘿!
本文共计391个文字,预计阅读时间需要2分钟。
.Net Core 5.0 内置 Swagger,可生成接口文档。若接口文档中属性名称与接口中定义不同,或大小写不一致,使用 Nuget 包 Swashbuckle.AspNetCore.SwaggerGen 版本大于 5.0,可解决此问题。
.Net Core 5.0 内置 Swagger,如果Swagger 接口文档与你接口中对象属性定义的名称或大小写不同,并且所使用 Nuget 包 "Swashbuckle.AspNetCore.SwaggerGen" 版本大于 5.0 ,那么此篇文章或许对你有用
原因:Nuget 包 "Swashbuckle.AspNetCore.SwaggerGen" 5.0之后的版本不再默认使用 Newtonsoft 进行序列化,详细原因Swagger GitHub Readme有解释,地址:domaindrivendev/Swashbuckle.AspNetCore: Swagger tools for documenting API's built on ASP.NET Core (github.com)
如果你需要指定Swagger 使用Newtonsoft.Json 进行序列化以使用自定义的 JsonProperty 描述你的属性实际序列化名称,那么你可以安装
Swashbuckle.AspNetCore.Newtonsoft Nuget包来指定 Swagger 的序列化组件。
1 Package Manager : Install-Package Swashbuckle.AspNetCore.Newtonsoft -Version 6.3.0 2 CLI : dotnet add package --version 6.3.0 Swashbuckle.AspNetCore.Newtonsoft
并在服务注册处添加使用AddSwaggerGenNewtonsoftSupport() 方法来指定其使用 Newtonsoft.Json
1 services.AddMvc(); 2 3 services.AddSwaggerGen(c => 4 { 5 c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); 6 }); 7 services.AddSwaggerGenNewtonsoftSupport(); // explicit opt-in - needs to be placed after AddSwaggerGen()
重新启动服务后,你会发现 Swagger 接口文档内的对象名称全部和你的代码内的 JsonProperty 属性定义的一模一样了,嘿嘿!

