上一篇SpringBoot实现Swagger接口响应信息自定义(一)讲到了实现Swagger接口响应信息自定义的初版解决方案,本篇讲述终版解决方案。
场景
接口相关信息如路径、参数等数据可能来自枚举、模板文档、数据库等。
终版解决方案:依据swagger接口响应机制,重写swagger接口响应数据
我们访问swagger-ui.html页面,看到的接口响应数据都是v2/api-docs
接口返回的,如下图
找到这个接口定义,如下图
这里有三个关键信息,已经用红框标出,含义是从缓存中取出Documentation,转换成Swagger,最后把Swagger序列化为Json响应。
我们可以改造这个接口,重新定义响应的Swagger,这样我们的接口信息便可以自由定义并且可以开放接口,动态控制接口响应的信息。即在