.NET Web API 搭建Swagger

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_16998945/article/details/84307028

一、创建Net Web API项目

1.新建web应用程序

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

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

 

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

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

6.Global.asax 添加配置

代码如下:

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

代码如下:

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

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

 

二、引入Swagger

1.打开NuGet程序包

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

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

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

 

三、配置Swagger

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

代码如下:

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

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

3.打开应用程序属性

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

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

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

 

四、编写接口及调试

1.新建测试model

代码如下:

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

代码如下:

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 = "[email protected]";
            return Json<UserInfoRestule>(info);
        }
    }
}

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

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

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

 

五、注意说明

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

 

 

可利用Postman做测试

猜你喜欢

转载自blog.csdn.net/sinat_16998945/article/details/84307028