入坑.net core(二)新建一个.net core api
我这用的是.net core 3.1,没有可点击https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral下载
屁话不多少,先打开VS2019,创建一个API
配置一下项目
好现在我们.net core 3.1 Api项目就创建成功了,接下来看配置
先配置:swagger Swashbuckle.AspNetCore程序包
项目右击,管理NuGet程序包
再配置:Startup.cs文件
Swagger中间件
ConfigureServices下加:
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); });
Configure下加
app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); });
如下图
现在加一个控制器,看一下swagger接口
//路由设置 [Route("api/[controller]/[action]")] [ApiController] public class HomeController : ControllerBase { /// <summary> /// 获取文本 /// </summary> /// <returns></returns> [HttpGet] public ActionResult<string> Get() { return "Hello World!"; } /// <summary> /// 两数相加 /// </summary> /// <param name="num1">第一个数</param> /// <param name="num2">第二个数</param> /// <returns></returns> [HttpGet] public ActionResult<int> Sum(int num1, int num2) { return num1 + num2; } /// <summary> /// 两数相减 /// </summary> /// <param name="param">参数</param> /// <returns></returns> [HttpPost] public ActionResult<int> Subtract(Param param) { int result = param.num1 - param.num2; return result; } } /// <summary> /// 参数 /// </summary> public class Param { /// <summary> /// 第一个数 /// </summary> public int num1 { get; set; } /// <summary> /// 第二个数 /// </summary> public int num2 { get; set; } }
如下图
现在运行看下效果
路径改为:swagger/index.html
接着再配置xml注释
先引入NuGet包:Microsoft.Extensions.PlatformAbstractions
如下图
继续右键:属性
继续在Startup文件下配置如下代码
#region var basePath = PlatformServices.Default.Application.ApplicationBasePath; //var basePath = AppDomain.CurrentDomain.BaseDirectory; //Core.Admin.webapi.xml是我的项目生成XML文档的后缀名,具体的以你项目为主 var xmlPath = Path.Combine(basePath, "FirstApi.xml"); //第二个参数为true的话则控制器上的注释也会显示(默认false) c.IncludeXmlComments(xmlPath, true); #endregion
如下图
可能会出问题的是xml路径没有配置正确
此路径为 basepath根目录下xml路径
配置好注释xml运行一下api
现在注释就出来了。
就这么多了,每天成长一点点。加油。