swagger使用随笔
2020-10-21 在一技术群里看到有个大佬想用 swagger 实现个功能:基础 Api 项目中写好通用的接口,配置好 swagger .上级项目直接引用项目,就能访问 swagger 起来用。相当于不用重新配置 swagger 和重写部分接口。
然后我就开始捣鼓,折腾了。
直接VS 创建 2个 .net 4.5 的 api 项目。
在基础项目 nuget 装上 Swashbuckle 。
然后想到了之前做项目的时候,项目引用时路由冲突的常见问题,就直接把基础项目里的 HomeController 给去掉了,相当于纯基础 API 项目,也是为了防止默认的 /Home/Index 路由规则冲突,留着只是祸害就直接干掉了。
接下来就是改一下 TestBaseApi 的 App_Start 里的 SwaggerConfig.cs 文件。
注释自行看着办,我是全清了。留太多眼花,已经看过好几次了。
直接给内部的 Register 方法加点东西。
public static void Register()
{
var thisAssembly = typeof(SwaggerConfig).Assembly; GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "BaseApiSwagger"); var files = System.IO.Directory.GetFiles(string.Format(@"{0}\bin\\", System.AppDomain.CurrentDomain.BaseDirectory), "*.xml");
foreach (var item in files)
{
var tempFile = System.IO.File.OpenRead(item);
if (tempFile.Name.Count(d => d == '.') == 1)
{
c.IncludeXmlComments(item);
}
}
})
.EnableSwaggerUi(c =>
{
});
}
直接粗暴找到 项目名.xml 去读取 API 控制器的 XML 文件,这儿只做实现,不做优化.
接下来 把 TestBaseApi 引用到 TestExtApi 里。
为了方便看效果,把 TestExtApi 里默认的 ValueController 改为了 Value1Controller .
编译,F5跑起来看效果。
嗯,看起来问题不大,事实证明是可行的。这样就简单结束 了。
后续:
其实我想过好几个问题:
1。新项目,想自定义 swagger 名称怎么办?
2。新项目,需要自定义 js 怎么办?像普通的 swagger 写个内嵌的 js ,它能正常识别到么?
3。新项目,想配置部分 swagger 参数的时候又应该怎么办?
这几个问题,我得好好试试才知道答案。
swagger使用随笔的更多相关文章
- ASP.NET WebApi 文档Swagger深度优化
本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws 写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度 ...
- .Net Webapi Swagger增加登录功能
.mytitle { background: #2B6695; color: white; font-family: "微软雅黑", "宋体", "黑 ...
- Katana的WebAPI集成Swagger 解决方案
这位大哥写的博客很清楚了,我就不重复了. http://www.cnblogs.com/caodaiming/p/4156476.html 错误解决 http://blog.csdn.net/gold ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- ABP框架 - Swagger UI 集成
文档目录 本节内容: 简介 Asp.net Core 安装 安装Nuget包 配置 测试 Asp.net 5.x 安装 安装Nuget包 配置 测试 简介 来自它的网页:“...使用一个Swagger ...
- AI人工智能系列随笔
初探 AI人工智能系列随笔:syntaxnet 初探(1)
- 【置顶】CoreCLR系列随笔
CoreCLR配置系列 在Windows上编译和调试CoreCLR GC探索系列 C++随笔:.NET CoreCLR之GC探索(1) C++随笔:.NET CoreCLR之GC探索(2) C++随笔 ...
- C++随笔:.NET CoreCLR之GC探索(4)
今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...
- C++随笔:从Hello World 探秘CoreCLR的内部(1)
紧接着上次的问题,上次的问题其实很简单,就是HelloWorld.exe运行失败,而本文的目的,就是成功调试HelloWorld这个控制台应用程序. 通过我的寻找,其实是一个名为TryRun的文件出了 ...
随机推荐
- 摆书 book
题目描述: dxy家收藏了一套书,这套书叫<SDOI故事集>,<SDOI故事集>有n(n≤19)本,每本书有一个编号,从1号到n号. dxy把这些书按编号从小到大,从上往下摞成 ...
- 预科班D6
2020.09.14星期一 预科班D6 学习内容: 自习 发布小游戏 1.配置网络 #查看当前ip ifconfig #关闭NetworkManager systemctl stop NetworkM ...
- FastDFS不同步怎么破
一.背景说明 FastDFS是一款开源的分布式文件系统,具体介绍就不说了,有兴趣的可以自行百度下. 以下是官方的架构图: 一次完整的写交互过程如下: 1.Client向Tracker查询可用的Stor ...
- redis命令和RedisTemplate操作对应表
redis命令和RedisTemplate操作对应表 redisTemplate.opsForValue();//操作字符串 redisTemplate.opsForHash();//操作hash r ...
- kali学习wiki
https://github.com/Keybird0/Kali-learning-notes/wiki
- 基于gis的系统开发,程序运行出现问题 ArcGIS product not specified.You must first bind to an ArcGIS version prior to using any ArcGIS components.
在之前初始化的时候添加下面的一行代码:ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);还需要添加一个引 ...
- Linux下安装ZooKeeper-3.5.6
下载 官网下载地址是https://www.apache.org/dyn/closer.cgi/zookeeper,下载apache-zookeeper-3.5.6-bin.tar.gz. sta ...
- 【保姆级教程】手把手教你进行Go语言环境安装及相关VSCode配置
[Go语言入门系列]前面的文章: [Go语言入门系列](七)如何使用Go的方法? [Go语言入门系列](八)Go语言是不是面向对象语言? [Go语言入门系列](九)写这些就是为了搞懂怎么用接口 本篇文 ...
- 【题解】[SCOI]windy数
Link 题目大意:求给定一个区间内满足每一位的数相差大于\(2\)且没有前导零的数的个数. \(\text{Solution:}\) 我们可以按照数位\(dp\).设状态为当前要\(dp\)第\(p ...
- Linux为STDOUT的关键字设置颜色
echo "颜色测试aaa实测" | perl -pe 's/(aaa|实|测)/\e[1;31m$1\e[0m/g'