rest api集成swagger问题

请问,rest-api集成了swagger吗,我在rest-services.xml中自定义了一些接口,有没有swagger文档能直接查看到?

是要的这个吗?CUBA REST API

1 个赞

swagger.json我这边能打开,可里面没有我在rest-services.xml中自定义的接口内容。怎么样使自定义的接口也在swagger.json文件中体现呢?

image

红框的这个能打开吗?这是项目级别的文件,应该会有你的rest service

红框的打不开,报如下错误:
1715065156157

那你看看后台日志有什么错吗?我刚试了下,是可以下载这个yaml文件的

后台有报错信息,如下,这个需要额外配置什么吗?
image

不需要额外配置什么,这个错是在处理实体的集合属性时报错了,你可以在 SwaggerGeneratorBean 对应的代码行加断点看看,是处理哪个属性出的问题:
image

确实是一个属性定义有问题,已经解决,可以正常下载了。但怎么能访问网页版的呢,就像下面这样的展现形式?
image

需要将 JSON 或 YAML 格式的文件导入到网页或离线工具中:
image

非常感谢,已经实现了。不过还有一个疑问,导出的yaml文档中不仅包含了rest-services.xml中自定义的接口还包含了很多内置的接口,内置的能隐藏吗,还有里面展示的都是英文注释,自定义的接口可以添加自己的注释吗?而且每个方法都提供了get和post两个请求方式,能自己指定一个请求方式吗?
image

默认是全部生成的,但是你可以按照文档 扩展业务逻辑 - CUBA 框架开发者手册 (cuba-platform.cn) 的方法扩展一下 SwaggerGeneratorBean bean。比如在下面的方法中,去掉红框的部分,就会只包含 service 的方法了:
image

还有这里,可以根据 service 或 methodInfo 判断生成 post 或 get:
image

好的,多谢指导!