Webapi after writing, online Help documentation and tools to debug online are professional performance, and swagger is undoubtedly the best tool to do docs, automatically generate the interface description of each controller, automatically parse the parameters into JSON, and be able to debug online.
So what are the steps you need to apply to ASP. Swagger and how many pits to fill?
Install Swagger to Project
{ "dependencies": { "swashbuckle" "6.0.0-beta902", ...
Or add swashbuckle directly through the NuGet interface, currently the latest version 6.0.0-beta902
Configure Swagger
1.startup.cs=>configureservices
//Document parsingServices. Addswaggergen ();//Non-essentialServices. Configureswaggergen (options ={options. Singleapiversion (NewInfo {Version="v1", Title="UFX. Mall Docking Enterprise Internal system service Middleware Interface Description document"+configuration.getvalue<string> ("Customer"), Description="Based on ASP webapi,powered by Pomelo van Information Technology www.cnunify.com" }); });
2.startup.cs=>configure
// Document parsing app. Useswagger (); App. Useswaggerui ();
3. Description information of the automatic Read method
Reference Document: Https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger
Focus: How to customize the Swagger UI
After all the configuration has been done, direct access to the HTTP://XXX/SWAGGER/UI can see the interface interface.
But the default swagger UI personally think it is still a little ugly, some of the details are not in place, swagger all the resource files are embedded type, can not be directly modified, although a part of the UI interface, but how to fully customize the UI?
Swagger is a complete separation of the front and back of the project, the frontend static file through Ajax, request JSON data, return interface parsing display to the page, Swagger-ui can be found in git: https://github.com/swagger-api/swagger-ui/
Download the Swagger-ui to local and place all the files in the Dist wwwroot->swagger->ui
Then configure the real path for the ASP. NET core to automatically read wwwroot.
//This method gets called by the runtime. Use this method to configure the HTTP request pipeline Public voidConfigure (Iapplicationbuilder app, Ihostingenvironment env, iloggerfactory loggerfactory) {Loggerf Actory. Addconsole (Configuration.getsection ("Logging")); Loggerfactory.adddebug (); //Configure NlogLoggerfactory.addnlog (); Env. Configurenlog ("Nlog.config"); App. Useapplicationinsightsrequesttelemetry (); App. Useapplicationinsightsexceptiontelemetry (); //Exception Handling MiddlewareApp. Usemiddleware (typeof(Exceptionhandlermiddleware)); App. Usemvc (); //Enable static files middleware.app. Usestaticfiles (); App. Usemvcwithdefaultroute (); //Document parsingapp. Useswagger (); App. Useswaggerui (); }
This way, all the swagger files are local and you can customize them to show the modified UI
When the WEBAPI is published to the server, the access to the lower right corner of the swagger will have an exception error, to cancel the error, you only need to add validatorurl index.html to null, cancel the authentication of the URL
New Swaggerui ({ url:url, null, "Swagger-ui-container",
Reference Document: Http://stackoverflow.com/questions/27808804/swagger-ui-shows-error-validation-when-deployed
At the same time Swagger also provides an interface document editor Swagger-editor, you can easily edit the Swagger.json, edited well can be exported to the project
http://editor.swagger.io/
ASP. NET Core WebApi uses swagger as a help document and customizes swagger UI