Swagger中隐藏API
来源:互联网 发布:我的世界mac存档放哪 编辑:程序博客网 时间:2024/06/04 19:54
在使用Swagger需要隐藏不开放的API
可以在SwaggerConfig.cs中加入
/// <summary> /// 隐藏接口,不生成到swagger文档展示 /// </summary> [System.AttributeUsage(System.AttributeTargets.Method | System.AttributeTargets.Class)] public partial class HiddenApiAttribute : System.Attribute { } public class HiddenApiFilter : IDocumentFilter { /// <summary> /// 重写Apply方法,移除隐藏接口的生成 /// </summary> /// <param name="swaggerDoc">swagger文档文件</param> /// <param name="schemaRegistry"></param> /// <param name="apiExplorer">api接口集合</param> public void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer) { foreach (ApiDescription apiDescription in apiExplorer.ApiDescriptions) { if (Enumerable.OfType<HiddenApiAttribute>(apiDescription.GetControllerAndActionAttributes<HiddenApiAttribute>()).Any()) { string key = "/" + apiDescription.RelativePath; if (key.Contains("?")) { int idx = key.IndexOf("?", System.StringComparison.Ordinal); key = key.Substring(0, idx); } swaggerDoc.paths.Remove(key); } } } }
并且在SwaggerConfig.cs 中加入
c.DocumentFilter();
API调实例
/// <summary> /// 隐藏接口方法生成文档(添加[HiddenApi]特性) /// </summary> /// <param name="value"></param> /// <returns></returns> [HiddenApi] [Route("HideApi")] [HttpGet] public HttpResponseMessage HideApi(string value) { return Request.CreateResponse(HttpStatusCode.OK, new { errorCode = "0", value = value }); }
0 0
- Swagger中隐藏API
- JavaWeb项目中集成Swagger API文档
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api
- Spring3 MVC中使用Swagger生成API文档
- SpringMVC中使用swagger为api接口生成文档
- Spring boot 中使用swagger-ui实现 restful-api
- Spring MVC中使用Swagger生成API文档
- SpringBoot中使用Swagger生成RESTful规范API文档
- Swagger生成API文档
- Swagger API接口管理
- 漫谈api管理-Swagger
- NSwagStudio for Swagger Api
- android shape 的基本使用
- set排序
- idea
- ANR问题分析
- 游戏运动模糊技术讲解
- Swagger中隐藏API
- C# 事件与委托___窗口间的相互开启与关闭
- Python游戏系列之三_控制飞机移动
- 面试高级算法梳理笔记
- java实现bit-map算法存储大数据
- MUI框架中加载外部网页或服务器数据的方法
- Android语音录入(MP3格式)-小白无头脑实现
- 网易2017年秋季校招第二题
- RX系列五 | Schedulers线程控制