.Net WebApi 添加Swagger

前言

随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。

前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。

安装

  1. 首先,创建WebApi类型的项目 TestSwagger

2. 安装Swashbuckle 包和swagger.Net.UI包

  3. 安装完成之后,可以看到这些类与文件都是安装完成时swagger添加的

设置

  1. 设置输出xml文档文件
    右键项目属性—>生成—>勾选XML文档文件

运行

发生上述错误,请在,SwaggerNet.cs中,注释类上面的两行

结果又报以下错误:

这时需要在SwaggerConfig.cs 文件中 GlobalConfiguration.Configuration.EnableSwagger  添加c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

需要添加注释则加:   c.IncludeXmlComments(string.Format("{0}/bin/TestService.XML", System.AppDomain.CurrentDomain.BaseDirectory));

需要在Swagger页面添加自定义header:

需要在SwaggerConfig.cs 文件中 c.OperationFilter<AddAuthorizationHeaderParameterOperationFilter>();

增加新类:

namespace TestService.App_Start
{
    public class AddAuthorizationHeaderParameterOperationFilter : IOperationFilter
    {
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {

            if (operation.parameters == null)
            {
                operation.parameters = new List<Parameter>();
            }
            operation.parameters.Add(new Parameter
                {
                    name = "UserId",
                    @in = "header",
                    description = "User short name",
                    required = true,
                    type = "string"
                });

            operation.parameters.Add(new Parameter
            {
                name = "ClientId",
                @in = "header",
                description = "Client generated unique number",
                required = true,
                type = "string"
            });
        }
    }
}

  显示效果

原文地址:https://www.cnblogs.com/suidouya/p/9602492.html

时间: 2024-08-30 18:06:08

.Net WebApi 添加Swagger的相关文章

.net framework webapi添加swagger

1.添加引用 nuget 搜索swagger,安装Swashbuckle   (补充如果是.net core api请安装Sawshbuckle asp.net core) 2.打开项目App_Start文件夹,修改SwaggerConfig.cs配置文件 3.修改Api说明 4.创建项目xml注释文档 右键项目→属性→生成→选中下方的 "XML文档文件" 然后保存 5.配置启用: 6.启动webapi,然后在接口地址后面输入 /swagger   (默认是英文的,如果需要中文显示 

ASP.NET WebAPI使用Swagger生成测试文档

ASP.NET WebAPI使用Swagger生成测试文档 SwaggerUI是一个简单的Restful API测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON配置显示API .项目本身仅仅也只依赖一些html,css,js静态文件.你可以几乎放在任何Web容器上使用 捣鼓了好久最终效果如下 1.API控制器和action描述 2.测试接口 使用swagger 1.创建webapi项目解决方案 2.引用swagger nuget包 swashbuckle和swagger.NET

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情.或者详细点,或者简单点.那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学

.NetCore2.1 WebAPI新增Swagger插件

说明 Swagger是一个WebAPI在线注解.调试插件,过去我们主要通过手工撰写WebAPI接口的交互文档供前端开发人员或外部开发者, 官网地址:https://swagger.io/. 但是在实际工作中,往往咋们的文档工作通常落后于实际的环境,导致文档和实际接口不一致,前后端开发人员苦不堪言. Swagger的出现解放了接口文档撰写的麻烦也提高了前后端开发者的工作效率,所谓"工欲善其事,必先利其器 ".现在让咋们 了解下在.NET Core 2.1下如何实现Swagger. 1.N

ASP.NET Core WebApi使用Swagger生成api

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情.或者详细点,或者简单点.那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学

NetCoreAPI添加Swagger

public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public vo

MVC.Net:WebAPI添加对jsonP的支持

在某些情况下,我们需要在WebAPI项目中添加对jsonP的支持.比如我们同时创建了MVC.Net和WebAPI两个项目,这两个项目使用不同的端口,这时如果MVC.Net项目的前端想要直接访问WebAPI项目,就会出现"cross-origin"的错误.要解决这个问题,我们通常会使用jsonP的方法. 要让WebAPI支持返回jsonP格式,需要的步骤如下: 1. 通过NuGet安装WebApiContrib.Formatting.Jsonp.项目地址:https://github.c

webapi使用swagger出现“Cannot read property &#39;parameters&#39; of null”

前端时间在webapi项目使用swagger来提供接口文档及测试工具,按网上方法(http://wmpratt.com/swagger-and-asp-net-web-api-part-1)配置好之后在浏览器控制台出现"Cannot read property 'parameters' of null"错误. 后面发现问题出在//localhost:5645/swagger/docs/v1这个JSON资源上面,序列化出来的JSON,包含了为NULL的字段,导致swagger-ui-mi

Asp.Net WebAPI添加OData功能后,支持查询,排序,过滤。

给Asp.Net WebAPI添加OData功能后,就能支持在url中直接输入排序,过滤条件了. 一.修改WebAPIConfig.cs: using System; using System.Collections.Generic; using System.Linq; using System.Web.Http; using System.Net.Http.Formatting; using System.Net.Configuration; namespace ProjectManagem