使用Swagger制作WebApi的接口

首先,创建一个空的WebApi项目

之后,创建Controller,然后继承ApiController

之后呢,我们需要写个方法,当然,都是有返回值的,不能用return View()啥的(毕竟是返回数据用的接口)

然后,我们需要引用NuGet里头的 Swashbuckle、swagger.Net.UI

注:引用完 Swashbuckle,会在App_Start里头生成一个 SwaggerConfig(用来配置Swagger参数的,强烈建议使用稳定版本的,我用了一下最新预发行版,结果没生成这个文件,之后再次引用下5.53的稳定版,丫丫的,也可能是这个文件需要后面才引用--在引用swagger.Net.UI之后)

配置参数:

using System.Web.Http;
using WebActivatorEx;
using wp3;
using Swashbuckle.Application;

[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

namespace wp3
{
    /// <summary>
    /// Swagger配置
    /// </summary>
    public class SwaggerConfig
    {
     //加了这个
        private static string GetXmlCommentsPath()
        {
            return string.Format(@"{0}\bin\wp3.XML", System.AppDomain.CurrentDomain.BaseDirectory);
        }

        public static void Register()
        {
            var thisAssembly = typeof(SwaggerConfig).Assembly;

            GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                    {
                        c.SingleApiVersion("v1", "wp3");
                        c.IncludeXmlComments(GetXmlCommentsPath());//加了这个
           })
                .EnableSwaggerUi(c =>
                    {
       });
        }
    }
}

注意:上面的GetXmlCommentsPath  静态方法,是读取你这个项目bin目录下生成的 Xml(这个是你在Swagger里头注释的内容),

需要  右击你的项目->属性->生成,将XML文档文件  勾选起来,生成目录可以自己选择,当然  楼上的  SwaggerConfiger中的GetXmlCommentsPath  的路径也需要修改了

之后,去App_Start中,将楼上的两行注释掉(没有的话就算了,据说是因为:估计是nuget包中的代码没有更新导致这个异常出现)

然后,运行没看到,我就在代码头部加上个  Route("Default/Login")   路由地址

之后运行了,也显示出来了(包括没加这个路由的方法也显示出来了,个人猜测,应该是有大的改动之类的,才会更新--或者我没单一生成项目吧,外加清理解决方案)

最后呢?我们就可以运行期这个项目看看了

地址:http://localhost:5941/swagger/Ui/index    (你的local地址 +  /swagger/Ui/index )

结果如图:

后话,出现个状况,初始自带的

还存在,我后续看看怎么会出来的

感谢:http://www.cnblogs.com/youzi1001/p/6156349.html

http://www.cnblogs.com/Leo_wl/p/5672430.html

时间: 2024-10-29 14:15:56

使用Swagger制作WebApi的接口的相关文章

PCB DotNetCore Swagger生成WebAPI文档配置方法

在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有一个相类似的工具,它就是Swagger,和使用WebApiTestClientWebApi差不多的,这里Swagger配置过程整理如下:   一.下载Swashbuckle.AspNetCore NuGet下载安装Swashbuckle.AspNetCore   二.Startup.cs代码修改 1

使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档

一.问题 使用Swashbuckle.AspNetCore生成.NetCore WEBAPI的接口文档的方法 二.解决方案 参考文章:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs=visual-studio 1.Install-Package Swashbuckle.AspNetCore 2.在ConfigureServices中添加AddSwaggerGe

C# WebApi之接口返回类型详解

转自:https://www.cnblogs.com/hnsongbiao/p/9375888.html Webapi的接口返回值主要有四种类型 void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 void无返回值 大家都知道void声明的是一个无返回值的方法,声明一个api控制器方法,例如: public class ValuesController : ApiController { [HttpGet] public void Get()

MVC WebApi Swagger帮助文档 接口用法

1.WebApi在解决方案Apps.WebApi中 2.将Apps.WebApi设置为启动项目之后,可以直接浏览到Api的帮助文档,并直接进行调试 3.登录接口 4.登录获取的token来访问其他接口 关于token过期以及验证规则,详见代码内部 原文地址:https://www.cnblogs.com/ymnets/p/10922873.html

Swagger在WebAPI下的使用

前段时间想对所做的WebAPI加入文档功能,方便调用接口的同事查阅,上网了解到Swagger,在学习使用Swagger的时候,网上资料算是比较多,但个人认为能够详细说明白的比较少,思路都有说到,但具体的就没说,或没实例说明,让初学者容易搞错(我也走了好些弯路),现把自己查阅资料,并结合个人实际使用的结果,发上来,一来供有缘人参考,二来自己也有个笔记. 环境:VS2013..NET Framework 4.Swagger5.5.3 一.新建WebAPI项目,利用NuGet安装Swagger 网上有

webapi 发布接口报405错误(angularjs2.0)

参考链接:http://www.cnblogs.com/shenbin/p/5680976.html web访问接口报405错误,以前的jQuery访问方式访问接口没有问题. 但是换成angularjs2.0之后调用接口就报405错误,ajax调用没有问题. 查找资料之后找到解决方案: 原因是webapi 默认的web.config有配置 <handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0"

Asp.Net WebAPI配置接口返回数据类型为Json格式

一.默认情况下WebApi 对于没有指定请求数据类型类型的请求,返回数据类型为Xml格式 例如:从浏览器直接输入地址,或者默认的XMLRequest,或者AngularJs的get请求等. 对于有循环引用的也会抛出异常""ObjectContent`1"类型未能序列化内容类型"application/xml; charset=utf-8"的响应正文." 二.设置返回格式为Json数据 1.修改配置,这对所有的接口都生效 找到Global.asax

spring-boot+swagger实现WebApi文档

1.引用依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version> </dependency <dependency> <groupId>io.springfox</groupId> <artifact

Swagger生成WebAPI文档

最近在做WebAPI2.0 项目,为了使用者能轻易查看API文档,因此使用Swagger进行了配置 1.打开程序包管理控制台输入: Install-Package Swashbuckle 2.在对应项目里的App_Start文件夹下的SwaggerConfig.cs文件找到: c.IncludeXmlComments 然后进行替换 c.IncludeXmlComments(GetXmlCommentsPath(thisAssembly.GetName().Name)); 3.然后再与Regist