zoukankan      html  css  js  c++  java
  • WebApi集成Swagger

    1.新建一个WebApi空项目

    2.新建一个Person实体类:

    public class Person
        {
            public int ID { get; set; }
            public string UserName { get; set; }
            public string Password { get; set; }
        }
    View Code

    3.新建一个PersonAPI控制器(PersonController)

    public class PersonController : ApiController
        {
            /// <summary>
            /// 根据ID获取单个人的详细信息
            /// </summary>
            /// <param name="id">人员ID</param>
            /// <returns></returns>
            [HttpGet, Route("person/GetPerson")]
            public Person GetPerson(int id)
            {
                return new Person { ID = id, UserName = "张三", Password = "admin888" };
            }
            /// <summary>
            /// 获取人员列表信息
            /// </summary>
            /// <returns></returns>
            [HttpGet, Route("person/GetPersons")]
            public List<Person> GetPersons()
            {
                List<Person> list = new List<Person> { 
                    new Person{ ID = 3, UserName = "张三", Password = "admin888"},
                    new Person{ ID = 4, UserName = "李四", Password = "admin888"},
                    new Person{ ID = 5, UserName = "王五", Password = "admin888"},
                    new Person{ ID = 6, UserName = "小七", Password = "admin888"}
                };
                return list;
            }
    
            /// <summary>
            /// 添加人员
            /// </summary>
            /// <param name="product"></param>
            /// <returns></returns>
            [HttpPost, Route("person/add")]
            public int AddProduct(Person person)
            {
                throw new NotImplementedException();
            }
    
            /// <summary>
            /// 更新删除人员
            /// </summary>
            /// <param name="personId"></param>
            /// <param name="person"></param>
            [HttpPost, Route("person/update")]
            public void UpdatePerson(int personId, Person person)
            {
                throw new NotImplementedException();
            }
    
            /// <summary>
            /// 删除人员
            /// </summary>
            /// <param name="personId"></param>
            [HttpDelete, Route("product/delete")]
            public void DeletePerson(int personId)
            {
                throw new NotImplementedException();
            }
        }
    View Code

    4.通过NuGet程序包安装swashbuckle程序包

    5.安装后App_Start目录下会生成一个SwaggerConfig.cs文件,修改此文件:

    取消c.IncludeXmlComments(GetXmlCommentsPath())的注释,同时添加GetXmlCommentsPath函数

    private static string GetXmlCommentsPath()
            {
                return string.Format(@"{0}inXXXX.XML", AppDomain.CurrentDomain.BaseDirectory);
            }
    View Code

    其中"XXX.xml"为"你的项目名.xml"
    6.右键项目-属性-生成,勾选"xml文档文件"

    7.好了,生成好之后通过http://主机/swagger/ui/index#/ 地址就可以访问了

  • 相关阅读:
    docker vm 性能优劣
    Jeecg-Boot Spring Boot
    MyBatis-Plus
    Eclipse lombok java
    MySQL 高可用性—keepalived+mysql双主
    如何使用 Docker 来限制 CPU、内存和 IO等资源?
    Requires: libc.so.6(GLIBC_2.14)(64bit)
    项目管理、软件、禅道 VS JIRA
    解决Window安全中心对Kitematic-0.17.3-Ubuntu.zip提示病毒,但无法删除的问题。
    正则表达式 贪婪模式
  • 原文地址:https://www.cnblogs.com/myindex/p/5464909.html
Copyright © 2011-2022 走看看