Swagger对自定义入参和出参(过滤器)的支持

_

这是之前文章 <在asp.net core 下定义统一的入参和出参格式>的高阶应用篇,由于增加了框架级别的入参和出参定义,导致swagger无法识别外部的定义,仅仅识别为控制器方法的定义。如果追根溯源,这个跟swagger也没太大的关系,应该是asp提供的ApiExplorer的问题,毕竟是静态反射,你想让他支持动态的过滤,这的确是勉为其难了。

swagger的结构

我使用的环境是asp.net core 3.1,swagger的包是Swashbuckle.AspNetCore 5.0.0。如果仅仅是产生一个api文档,为什么要关注这个Swagger的包,甚至结构呢,你说是吧!我当时就有股放下的冲动,给前端介绍下,让他们自己理解去… …

作为一个接近产品的项目,我觉得有必要深入的理解下swagger的结构,完成这个转换就非常完美了。

说起swagger的结构,其实不如说是OpenAPI的结构,这个规范应该起源自swagger,微软定义了一套实现。

OPEN API 规范

记住微软的github地址: OpenApi
这里简单过下规范的描述, 目前标准为3.02,
OpenApi的根文档对象如下:

# OpenAPI 规范版本号
openapi: 3.0.2

猜你喜欢

转载自blog.csdn.net/webmote/article/details/104316215