zoukankan      html  css  js  c++  java
  • 我的第一个netcore2.2 api项目搭建(二)

    上一章快速使用SqlSugar搭建了netcore api项目,我的第一个netcore2.2 api项目搭建(一)

    这一章实现目标二:api使用Swagger,实现api文档管理

     效果图:第一张收缩,第二张展开,共有2个控制器:values和Account;控制器有注释,api有注释,实体有注释

    1.1添加swagger引用

    nuget搜索:Swashbuckle.AspNetCore,安装

    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添加完毕

  • 相关阅读:
    js备忘录3
    js备忘录2
    js备忘录1
    Java-URLEncoder.encode 什么时候才是必须的
    Oracle中的SQL分页查询原理和方法详解
    servlet 和 threadlocal 与 web容器(理解threadlocal)
    技术汇总:第十二章:技术总览
    MongoDB :第五章:MongoDB 插入更新删除查询文档
    MongoDB :第六章:Java程序操作MongoDB
    MongoDB :第二章:系统归纳
  • 原文地址:https://www.cnblogs.com/sy-ds/p/10832562.html
Copyright © 2011-2022 走看看