一、创建Net Web API项目

1.新建web应用程序

.NET Web API 搭建Swagger_Email

2.选择空模板,并且勾选web api 

.NET Web API 搭建Swagger_路由配置_02

3.生成web api项目后,添加controller文件

.NET Web API 搭建Swagger_Email_03

.NET Web API 搭建Swagger_xml_04

4.自动回生成content、views等文件夹及文件

.NET Web API 搭建Swagger_路由配置_05

5.可直接运行,程序异常

.NET Web API 搭建Swagger_xml_06

6.Global.asax 添加配置

.NET Web API 搭建Swagger_Email_07

代码如下:

protected void Application_Start()
{
    //注册ASP.NET MVC应用程序中的所有区域。
    AreaRegistration.RegisterAllAreas();

    //配置WebApi
    GlobalConfiguration.Configure(WebApiConfig.Register);

    //注册过滤器
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

    //注册路由配置
    RouteConfig.RegisterRoutes(RouteTable.Routes);
}

7.修改路由配置,制定默认controller、action

.NET Web API 搭建Swagger_xml_08

代码如下:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        //defaults: new { action = "Index", id = UrlParameter.Optional }
    );
}

8.生成默认view

.NET Web API 搭建Swagger_Email_09

9.重新编译,运行程序。成功显示home的index页面

.NET Web API 搭建Swagger_路由配置_10

二、引入Swagger

1.打开NuGet程序包

.NET Web API 搭建Swagger_路由配置_11

2.“浏览”页签下,搜索swagger, 找到swashbuckle,右侧选择webapi项目,进行安装。

.NET Web API 搭建Swagger_Email_12

3.找到swagger.net.ui,右侧选择webapi项目,进行安装。

.NET Web API 搭建Swagger_xml_13

4.安装完成后,生成相关配置文件,可直接关闭掉nuget,

.NET Web API 搭建Swagger_xml_14

三、配置Swagger

1.修改默认页(前面步骤中生成的HomeController的index页面仅仅是测试用,到此步骤也可以删除掉)

.NET Web API 搭建Swagger_Email_15

代码如下:

public class HomeController : Controller
{
    // GET: Home
    public ActionResult Index()
    {
        //return View();
        return Redirect("~/swagger/ui/index"); 
    }
}

2.运行程序,出现报错,因为还缺少配置

.NET Web API 搭建Swagger_路由配置_16

3.打开应用程序属性

.NET Web API 搭建Swagger_路由配置_17

选择“生成”,勾选xml文档,这个xml里面会自动配置swagger

.NET Web API 搭建Swagger_路由配置_18

4.打开SwaggerNet.cs,屏蔽如下两行代码。

.NET Web API 搭建Swagger_路由配置_19

5.重新运行,看到下面页面则代表swagger配置成功。

.NET Web API 搭建Swagger_路由配置_20

四、编写接口及调试

1.新建测试model

.NET Web API 搭建Swagger_路由配置_21

代码如下:

namespace WebApi.Models
{
    public class UserInfo
    {
        public int UserId { get; set; }
        public string UserName { get; set; }
    }

    ///
    public class UserInfoRestule : UserInfo
    {
        public int Age { get; set; }
        public string Email { get; set; }
    }
}

2.新建一个测试controller

.NET Web API 搭建Swagger_xml_22

代码如下:

namespace WebApi.Controllers
{
    public class TestAPIController : ApiController
    {
        [HttpPost]
        public IHttpActionResult SetUserInfo(UserInfo dto)
        {
            UserInfoRestule info = new UserInfoRestule();
            info.UserId = dto.UserId;
            info.UserName = dto.UserName;
            info.Age = 18;
            info.Email = "xxxxx@xx.com";
            return Json<UserInfoRestule>(info);
        }
    }
}

3.重新运行,看到新建的接口。

.NET Web API 搭建Swagger_路由配置_23

4.点击“TestAPI”,再点击“api/TestAPI”可打开接口详细内容。

.NET Web API 搭建Swagger_Email_24

5.接口测试。得到后台返回响应,则接口陈宫

.NET Web API 搭建Swagger_Email_25

五、注意说明

接口地址为http://localhost:64530/api/TestAPI

.NET Web API 搭建Swagger_Email_26

可利用Postman做测试

.NET Web API 搭建Swagger_Email_27

.NET Web API 搭建Swagger_Email_28