我的第一个 netcore2.2 API 项目搭建 (二)
上一章快速使用 SqlSugar 搭建了 netcore API 项目, 我的第一个 netcore2.2 API 项目搭建 (一)
这一章实现目标二: API 使用 Swagger, 实现 API 文档管理
效果图: 第一张收缩, 第二张展开, 共有 2 个控制器: values 和 Account; 控制器有注释, API 有注释, 实体有注释
<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHN0cm9uZz4xLjHM7bzTc3dhZ2dlctL908M8L3N0cm9uZz48L3A+CjxwPm51Z2V0y9HL96O6U3dhc2hidWNrbGUuQXNwTmV0Q29yZaOssLLXsDwvcD4KPHA+PGltZyBzcmM9"https://www.2cto.com/uploadfile/Collfiles/20190509/20190509134032431.png" alt="\" />
1.2 在 startup 中注册 swagger
public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // 添加 API 管理 // Register the Swagger generator, defining 1 or more Swagger documents services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { //Version = "v1", Title = "MyFirst API",//"API", //Description = "", //TermsOfService ="None", //Contact = new Contact //{ // Name ="", // Email = string.Empty, // Url = ""//}, //License = new License //{ // Name ="Use under LICX", // Url ="" //} }); // Set the comments path for the Swagger JSON and UI. var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath, true); xmlPath = Path.Combine(AppContext.BaseDirectory, "JH.OPEMR.Model.xml"); options.IncludeXmlComments(xmlPath, true); }); } View Code
注意这段:
这段代码是添加注释, 如果有多个文件注释, 只要逐个添加就好了, 不建议将 xml 合并, 并且这个需要项目生成相应 xml
1.3 在 Configure 中启用 swagger
public void Configure(IApplicationBuilder App, IHostingEnvironment env) { if (env.IsDevelopment()) { App.UseDeveloperExceptionPage(); } // 启用 Swagger // Enable middleware to serve generated Swagger as a JSON endpoint. App.UseSwagger(); // Enable middleware to serve swagger-ui (html, JS, CSS, etc.), // specifying the Swagger JSON endpoint. App.UseSwaggerUI(options => { options.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); }); App.UseMvc(); } View Code
F5 运行之前将启动页改成 swagger
F5 运行
ok,swagger 添加完成.
but, 我尝试添加了一个 GetUsers 方法...
swagger 失败, 该死 API 路由, 很不好理解, 还是改成这样吧
F5, 变成这样, 直观多了...
至此, swagger 添加完毕
来源: https://www.2cto.com/kf/201905/807964.html