 
 Swashbuckle简介 Swashbuckle有两个核心组件: Swashbuckle.SwaggerGen: 提供生成描述对象,利用方法,利用返回类型等JSON Swagger文档的利用功能。        Swashbuckle.SwaggerUI: 一个Swagger UI工具的利用嵌入式版本,可以使用上面的利用文档来创建可定制化的Web API的功能描述,包含内置的利用公共方法的测试工具。        在middleware中添加并配置Swagger 首先,利用要将Swashbuckle添加到项目中的project.json: "Swashbuckle": "6.0.0-beta902"         然后在Configure方法中添加SwaggerGen到services集合中,接着在ConfigureServices方法中,利用允许中间件(middleware)为生成的利用JSON文档和SwaggerUI提供服务。亿华云计算  
 执行dotnet run命令,利用并导航到http://localhost:5000/swagger/v1/swagger.json 查看描述终结点的利用文档。 在middleware中添加并配置Swagger 首先,利用要将Swashbuckle添加到项目中的project.json: "Swashbuckle": "6.0.0-beta902" 然后在Configure方法中添加SwaggerGen到services集合中,接着在ConfigureServices方法中,利用允许中间件(middleware)为生成的利用JSON文档和SwaggerUI提供服务。 执行dotnet run命令,利用并导航到http://localhost:5000/swagger/v1/swagger.json 查看描述终结点的文档。 {   "swagger": "2.0",   "info": {     "version": "v1",     "title": "API V1"   },   "basePath": "/",   "paths": {     "/api/User": {       "get": {         "tags": [           "User"         ],         "operationId": "ApiUserGet",         "consumes": [],         "produces": [           "text/plain",           "application/json",           "text/json"         ],         "responses": {           "200": {             "description": "Success",             "schema": {               "type": "array",               "items": {                 "$ref": "#/definitions/UserItem"               }             }           }         },         "deprecated": false       },       "post": {         "tags": [           "User"         ],         "operationId": "ApiUserPost",         "consumes": [           "application/json",           "text/json",           "application/json-patch+json"         ],         "produces": [],         "parameters": [           {             "name": "item",             "in": "body",             "required": false,             "schema": {               "$ref": "#/definitions/UserItem"             }           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       }     },     "/api/User/{id}": {       "get": {         "tags": [           "User"         ],         "operationId": "ApiUserByIdGet",         "consumes": [],         "produces": [],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "string"           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       },       "put": {         "tags": [           "User"         ],         "operationId": "ApiUserByIdPut",         "consumes": [           "application/json",           "text/json",           "application/json-patch+json"         ],         "produces": [],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "string"           },           {             "name": "item",             "in": "body",             "required": false,             "schema": {               "$ref": "#/definitions/UserItem"             }           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       },       "delete": {         "tags": [           "User"         ],         "operationId": "ApiUserByIdDelete",         "consumes": [],         "produces": [],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "string"           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       },       "patch": {         "tags": [           "User"         ],         "operationId": "ApiUserByIdPatch",         "consumes": [           "application/json",           "text/json",           "application/json-patch+json"         ],         "produces": [],         "parameters": [           {             "name": "item",             "in": "body",             "required": false,             "schema": {               "$ref": "#/definitions/UserItem"             }           },           {             "name": "id",             "in": "path",             "required": true,             "type": "string"           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       }     },     "/api/Values": {       "get": {         "tags": [           "Values"         ],         "operationId": "ApiValuesGet",         "consumes": [],         "produces": [           "text/plain",           "application/json",           "text/json"         ],         "responses": {           "200": {             "description": "Success",             "schema": {               "type": "array",               "items": {                 "type": "string"               }             }           }         },         "deprecated": false       },       "post": {         "tags": [           "Values"         ],         "operationId": "ApiValuesPost",         "consumes": [           "application/json",           "text/json",           "application/json-patch+json"         ],         "produces": [],         "parameters": [           {             "name": "value",             "in": "body",             "required": false,             "schema": {               "type": "string"             }           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       }     },     "/api/Values/{id}": {       "get": {         "tags": [           "Values"         ],         "operationId": "ApiValuesByIdGet",         "consumes": [],         "produces": [           "text/plain",           "application/json",           "text/json"         ],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "integer",             "format": "int32"           }         ],         "responses": {           "200": {             "description": "Success",             "schema": {               "type": "string"             }           }         },         "deprecated": false       },       "put": {         "tags": [           "Values"         ],         "operationId": "ApiValuesByIdPut",         "consumes": [           "application/json",           "text/json",           "application/json-patch+json"         ],         "produces": [],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "integer",             "format": "int32"           },           {             "name": "value",             "in": "body",             "required": false,             "schema": {               "type": "string"             }           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       },       "delete": {         "tags": [           "Values"         ],         "operationId": "ApiValuesByIdDelete",         "consumes": [],         "produces": [],         "parameters": [           {             "name": "id",             "in": "path",             "required": true,             "type": "integer",             "format": "int32"           }         ],         "responses": {           "200": {             "description": "Success"           }         },         "deprecated": false       }     }   },   "definitions": {     "UserItem": {       "type": "object",       "properties": {         "key": {           "type": "string"         },         "name": {           "type": "string"         },         "age": {           "format": "int32",           "type": "integer"         }       }     }   },   "securityDefinitions": {} }         该文档用来驱动Swagger UI,可以导航http://localhost:5000/swagger/ui来查看Swagger UI。  
 在UserController里面的每个方法都可以在该页面上通过点击”Try it out!”进行测试。  
 定制&扩展 API描述信息 services.ConfigureSwaggerGen(options => {     options.SingleApiVersion(new Info     {         Version = "v1",         Title = "User Web API",         Description = "ASP.NET Core Web API",         TermsOfService = "None",         Contact = new Contact { Name = "Charlie Chu", Email = "charlie.thinker@aliyun.com", Url = "http://zhuchenglin.me/" },         License = new License { Name = "The MIT License", Url = "http://zhuchenglin.me/" }     }); });         XML注释 通过在project.json添加“xmlDoc”: true来启用XML注释。  
  
 ApplicationBasePath获取该应用的站群服务器根路径,它必须为XML注释设置一个完整的路径,生成的XML注释名称基于你的应用程序的名称。  
 注意这个界面是通过之前生成的JSON文件来驱动的,所有的这些API描述信息和XML注释都会写入到这个文件中。  
 【本文为专栏作者“朱成林”的原创稿件,转载请联系原作者】 戳这里,看该作者更多好文 云服务器提供商 |