一、安装Swagger
根据官网文档安装Swashbuckle.AspNetCore
命令行Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4
也可以通过Nuget搜索Swashbuckle.AspNetCore 安装
此处要注意包的版本问题
二、配置
在Startup中配置服务如图
//注册swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1.0", new OpenApiInfo { Title = "云小励平台接口", Version = "1.0" });
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
});
在这个步骤的时候需要在项目的属性中设置生成XML文件,右击项目选择属性——>生成——>选中XML文档生成
这样设置好以后就swagger服务就算完工了
接下来就是在中间件配置了
//Swagger规范和Swagger UI
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "云小励平台(V 1.0)");
c.RoutePrefix = string.Empty;
});
c.RoutePrefix = string.Empty 设置了这个就不用设置启动浏览器为Swagger了,如果没有这个的话启动浏览器还是要设置成Swagger,可以同时都进行设置。
设置启动浏览器项目右击属性——>调试——>启动浏览器
这里由于我设置c.RoutePrefix = string.Empty所以可以看到我的启动浏览器是空的,当然也是可以写上Swagger 这两个同时设置了并不冲突
接下来就是Swagger的规范文档了 Swagger 规范。这个我用的与之前一样的,我在之前的博客中有写。
创建一个swagger.json的文件 贴入以下代码
{
"swagger": "2.0",
"info": {
"version": "1.0",
"title": "HYZH_API"
},
"paths": {
"/api/Values": {
"get": {
"tags": [ "Values" ],
"summary": "Get values",
"operationId": "Get",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [],
"responses": {
"200": {
"description": "Success",
"schema": {
"uniqueItems": false,
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"post": {
"tags": [ "Values" ],
"operationId": "Post",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "value",
"in": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success"
}
}
}
}
},
"definitions": {}
}
为什么要叫这个名字呢。。。是因为这里的名字就是这个
这样运行的话 就可以了!贴一张效果图
一些使用的注意项 在之前的一篇Swagger配置中有
官方直通车——>点击后起飞