怎么样使用webapi集成swagger

  现在B/S开发被,前后端分离的已经改成平等种植新的时尚,但是什么管后端开发之接口更好之供被前段开发为?还因此接口文档?low了吧。不仅使费时开接口,还得费时写文档,白花花的岁月抢浪费了为。如果接口需要调整,还得转文档,这效率不用说了,肯定特别。今儿思明和豪门大快朵颐同首而视化webapi接口开发,就是去集成swagger。

  先来概括介绍一下:Swagger
是一个正式及完好的框架,用于转移、描述、调用和可视化 RESTful 风格的 Web
服务。总体目标是只要客户端和文件系统作为服务器因为相同的进度来更新。文件之计,参数与模型紧密集成到劳动器端的代码,允许API来总保并。Swagger
让部署管理及运用功能强大的API从未如此概括。

     下面介绍一下现实贯彻过程:

1、新建一个品类aps.net web 应用程序

图片 1

2、选择 empty–>核心引用选择 MVC和web api

图片 2

3、选择新建的类右击,在菜单中选择NuGet程序包
左侧选择并,右侧输入框输入swagger

图片 3

慎选其中的 Swashbuckle 和Swagger UI for .NET两只装

图片 4

4、右击项目选菜单属性 –> 选择生成 –>
选择输出xml文档文件,并输入不牵动多余.的公文称

图片 5

 

5、把正的文书称配置到 文件夹app_start中的 SwaggerConfig.cs 如下:

图片 6

c.IncludeXmlComments(string.Format("{0}/bin/SelfSwaggerApi.XML", System.AppDomain.CurrentDomain.BaseDirectory));

 6、删除多余无用的宗

图片 7

7、在文件夹Controllers中新建筑一个 Web API 控制器类

图片 8

8、直接运行。http://localhost:16650/swagger/ui/index 结果如下:

图片 9

 

9、有些人不思量直接运行vs就可活动跳反至 http://localhost:16650/swagger/ui/index
。也是足以的;如下:

当控制器中新增一个控制器 HomeController

using System.Web.Mvc;

namespace SelfSwaggerApi.Controllers
{
    public class HomeController : Controller
    {
        /// <summary>
        /// swagger 首页
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            return Redirect("/Swagger/ui/index");
        }
    }
}

  然后直运行。。就是见证奇迹的时刻。

 

备注:常见问题

不能加载文件要程序集“System.Web.Http, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35”或她的之一一个

由来分析:程序所依之dll
和实际引用的dll不称,可以为此修改配置文件web.config的道贯彻兼容

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31BF3856AD364E35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

  齐活。码字不易于,转载请备注出处,博客园思明奉上

 

相关文章