CAS利用Swagger自动生成API文档。生成的文档支持所有CAS端点和REST API。
CAS与Swagger的集成非常的简单,只需要一步就能完成。
pom.xml配置依赖
<dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-documentation-swagger</artifactId> <version>${cas.version}</version> </dependency>
测试
以下Swagger端点可用于分析和测试API:
描述 | 网址 |
---|---|
Swagger API规范 | https://sso.example.org/cas/v2/api-docs |
Swagger UI | https://sso.example.org/cas/swagger-ui.html |
访问:https://cas.server.com:8443/cas/v2/api-docs
访问:https://cas.server.com:8443/cas/swagger-ui.html
这么简单的配置,我为什么要单独的写一篇文章介绍呢?
第一个原因是,直观的感受到cas为我们开放的具体接口都在那个位置
第二个原因是,因为我在实际开发中,遇到过这么一个问题。
在cas-server项目中,控制台打印了一些错误信息,我根据这个日志输出的Java类或者方法,在Idea工具中始终搜索不到,在依赖包中也没有找到相关线索。
这很郁闷。为什么能打印,就是找不到相关类在哪儿?
于是根据swagger-api提供的线索,找到相关java类,然后导入依赖就能解决了。
比如:debug查找createTicketGrantingTicket方法在那个jar包中。
第一步:根据tags值 ticket-granting-ticket-resource 转换成 ticketGrantingTicketResource
第二步:在下载的5.2.x解压的包中搜索。
第三步:找到该java文件在那个目录下
第四步:导入同文件名一样的cas依赖包
<dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-rest</artifactId> <version>${cas.version}</version> </dependency>
第五步:在Idea工具中,就能查找到相关位置进行debug调试了
参考链接
https://apereo.github.io/cas/5.2.x/integration/Swagger-Integration.html