Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Use FluentValidation instead ComponentModel in swagger for Asp.Net WebApi

License

NotificationsYou must be signed in to change notification settings

micro-elements/MicroElements.Swashbuckle.FluentValidation.WebApi

Repository files navigation

Use FluentValidation rules instead ComponentModel attributes to define swagger schema.

Note: For AspNetCore see:https://github.com/micro-elements/MicroElements.Swashbuckle.FluentValidation

Latest Builds, Packages

NuGetTravis

Usage

1. Reference packages in your Web Api project:

  • Swashbuckle
  • FluentValidation
  • FluentValidation.WebApi
  • MicroElements.Swashbuckle.FluentValidation.WebApi

2. Modify SwaggerConfig.cs

After you add Swashbuckle package you can find generated SwaggerConfig.cs

  1. Comment [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")] (we need to register swagger after FluentValidation in WebApiConfig)
  2. Add registration c.AddFluentValidationRules();
// Commented because we need manual registration in right order//[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]publicclassSwaggerConfig{publicstaticvoidRegister(){varthisAssembly=typeof(SwaggerConfig).Assembly;GlobalConfiguration.Configuration.EnableSwagger(c=>{                        ...// Adds FluentValidationRules to swaggerc.AddFluentValidationRules();                        ...}                    ...

3. Modify WebApiConfig.cs

  1. AddFluentValidationModelValidatorProvider.Configure(config);
  2. AddSwaggerConfig.Register();
publicstaticclassWebApiConfig{publicstaticvoidRegister(HttpConfigurationconfig){// Web API configuration and services// Web API routesconfig.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name:"DefaultApi",routeTemplate:"api/{controller}/{id}",defaults:new{id=RouteParameter.Optional});// Adds Fluent validation to WebApiFluentValidationModelValidatorProvider.Configure(config);// Registers swagger for WebApiSwaggerConfig.Register();}}

Sample application

See sample project:https://github.com/micro-elements/MicroElements.Swashbuckle.FluentValidation.WebApi/tree/master/src/AspNetWebApiOld

Credits

Initial version of this project was based onMujahid Daud Khan answer on StackOwerflow:https://stackoverflow.com/questions/44638195/fluent-validation-with-swagger-in-asp-net-core/49477995#49477995

About

Use FluentValidation instead ComponentModel in swagger for Asp.Net WebApi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp