C#中使用swagger小技巧
C#中使用swagger小技巧
swaggerUI显示的接口内容主要用于开发阶段便于与前端联调,不适合发布到对外的站点。
有以下两种方式,让接口不显示在SwaggerUI中
1.使用属性 [ApiExplorerSettings(IgnoreApi = true)]设置接口不显示到swaggerUI,此方法比较灵活,可以根据情况在对于的控制器或者API接口中添加。
列如:
[ApiExplorerSettings(IgnoreApi = true)]
public class SystemController : ApiController
{
}
这样编写,整个控制器中的接口都不会显示在swaggerUI,如果只是想针对某个接口不显示在UI中,可以在接口处增加属性,列如:
public class SystemController : ApiController
{
[HttpGet]
[ApiExplorerSettings(IgnoreApi = true)]
public string GetSystemTime()
{
return DateTime.Now.ToString();
}
}
我们调试一般都会将编译类型选择为Debug,那么可以如下写:
#if (!DEBUG)
[ApiExplorerSettings(IgnoreApi = true)]
#endif
public class SystemController : ApiController
{
}
这样开发阶段就可以正常的查看swaggerUI,到发布到UAT或者其他环境时,选择Release类型编译发布即可。
针对某个接口不显示在UI中,可以在接口处修改属性,列如:
public class SystemController : ApiController
{
[HttpGet]
#if (!DEBUG)
[ApiExplorerSettings(IgnoreApi = true)]
#endif
public string GetSystemTime()
{
return DateTime.Now.ToString();
}
}
第二种方式:
就是不加载SwaggerConfig文件,这样在发布就不会显示swaggerUI,列如:
#if (DEBUG)
[assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
#endif
这样做的缺点是,接口说明都不显示了。
可以通过自己的使用情况,选择合适的方式。
C#中使用swagger小技巧的更多相关文章
- ACM 做题过程中的一些小技巧。
ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...
- C语言中的调试小技巧
C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...
- jquery获取json对象中的key小技巧
jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 1 ...
- ES6中常用的小技巧,用了事半功倍哦
ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...
- asp.net mvc route 中新发现的小技巧
在发现这个小技巧之前,我经常被某些问题困扰,我们以博客园为例 1:是分类名称 2:是分类url 3:点击分类,进入的页面,要显示分类的名称 4:点击分类,进入的页面,要用分类相关参数 在日常web的开 ...
- RS开发中的一些小技巧[不定期更新]
从9月份一直忙到了现在,项目整体的改版工作也完成了十有八九了,有些事情只有你自己真正的做了,你才能明白:哦,原来还可以这个样子,这样做真的好了很多呢,接下来我就分享一些最近遇到的RS开发的一些小技巧, ...
- CSS中的一下小技巧2之CSS3动画勾选运用
使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...
- CSS中的一下小技巧1之CSS3三角形运用
使用CSS3实现三角形: 在前端页面中有很多时候会遇到需要三角形图案的时候,以前不知道可以用CSS3实现三角形的时候,一般都是叫UI把三角形图案切出来. 后来知道原来可以用CSS3实现三角形,可是用过 ...
- Python 中的一些小技巧
这里是本人收集的一些 Python 小技巧,目前主要是一些实用函数,适合有一定基础的童鞋观看(不会专门介绍使用到的标准库函数).. 一.函数式编程 函数式编程用来处理数据,感觉很方便.(要是再配上管道 ...
随机推荐
- Android的so库注入
作者:Fly2015 Android平台的so库的注入是有Linux平台的进程注入移植来的.由于Android系统的底层实现是基于Linux系统的源码修改而来,因此很多Linux下的应用可以移植到An ...
- Python脚本扫描给定网段的MAC地址表(scapy或 python-nmap)
目录 用scapy模块写 用 python-nmap 模块写 python3.7 windows环境 以下两个都可以扫描指定主机或者指定网段的 IP 对应的 MAC 地址,然后保存到 csv 文件中 ...
- 基于 RTF specification v1.7 的 RTF 文件解析及 OLE 对象提取(使用 Python 开发)
0x01 Office RTF 文件介绍 RTF 文件也称富文本格式(Rich Text Format, 一般简称为 RTF),意为多文本格式是由微软公司开发的跨平台文档格式.大多数的文字处理软件都能 ...
- 【python】Leetcode每日一题-笨阶乘
[python]Leetcode每日一题-笨阶乘 [题目描述] 通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积.例如,factorial(10) = 10 * 9 * 8 * 7 * 6 ...
- CentOS运行多个Tomcat操作步骤
一:修改环境变量 在/et/profile文件追加以下内容 # tomcat1 env ( 第一个tomcat 的环境变量) export CATALINA_HOME=/usr/local/apach ...
- 【转】风控中的特征评价指标(二)——PSI
转自:https://zhuanlan.zhihu.com/p/79682292 风控业务背景 在风控中,稳定性压倒一切.原因在于,一套风控模型正式上线运行后往往需要很久(通常一年以上)才会被替换下线 ...
- 【开源技术分享】无需流媒体服务,让浏览器直接播放rtsp/rtmp的神器:EasyMedia
不同于市面上其他需要各种转发到流媒体服务的中间件来说,EasyMedia不需要依赖任何nginx-rtmp,srs,zlmediakit等等第三方流媒体服务,只需要你有rtsp或者rtmp等等协议的视 ...
- python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统
python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...
- suse11sp3、suse12 安装 zabbix-agent
1.添加repo源 suse11SP3zypper addrepo http://download.opensuse.org/repositories/server:/monitoring/SLE_1 ...
- Rust模块化
Rust模块化 模块化有助于代码的管理和层次逻辑的清晰 Rust模块化有多种方式: 1.嵌套模块 嵌套模块就是直接在要使用模块的文件中声明模块 mod food{//声明模块 pub struct C ...