我希望OpenAPI Generator(https://github.com/OpenAPITools/openapi-generator)能够根据Sping Boot Data中的实现在API中生成可分页参数。我一直在尝试找到一个合适的开箱即用的解决方案,但找不到。
理想情况下,此Pageable参数应按以下方式仅添加到GET方法:
default ResponseEntity<User> getUser(@ApiParam(value = "value",required=true) @PathVariable("id") Long id, **Pageable pageable**)
所以在我的控制器中实现这个接口后,我需要覆盖它,并使用前面提到的Pageable参数。我不想使用单独的参数来表示大小或页面,这里只使用这个Pageable。
感谢您的任何提示和帮助!
2条答案
按热度按时间fae0ux8s1#
不幸的是,这不是最终的解决办法,但它是一半的方式。也许它是有帮助的无论如何。
通过将可分页参数(size,page等)定义为对象查询参数,可以告诉生成器使用Spring对象,而不是从API生成
Pageable
类。分级:
它告诉生成器使用Spring类,而不是API中定义的类:
Map的问题是生成器仍然添加
@RequestParam()
注解,并且再次中断它。它仅在NOT注解时有效。如果你有一点冒险精神,你可以试试openapi-processor-spring(我是作者),它确实能处理上面的例子,但它可能有其他你不喜欢的限制。
h79rfbju2#
我有另一个解决方案,使用'openapi-generator',您可以在规范文件'x-spring-paginated'中给予一个vendorextension标志
您可能会遇到spring-doc的问题,您可以添加missig依赖项,也可以将configOptions下的documentation-provider更改为source。
用于maven插件的I.G.