【问题标题】:How to generate rest client api for Spring Boot microservice from source?如何从源代码为 Spring Boot 微服务生成 rest 客户端 api?
【发布时间】:2022-01-07 20:56:57
【问题描述】:

有没有办法配置 Spring Boot 应用程序以生成(例如,通过 gradle 任务)带有 rest 客户端的 jar 文件?

我听说过 Swagger 和 springdoc、springfox 等库,但它们会在应用程序启动时生成 web api。我想自动化 Kubernetes 集群内的微服务之间的通信过程,用 CI/CD 管理 rest api 客户端而不是手动工作。

【问题讨论】:

    标签: java spring-boot rest microservices code-generation


    【解决方案1】:

    你试过 OpenFeign 吗?在 SpringMVC 中,我们可以使用 SpringMVC 的@RequestMapping 和其他注解来生成这些注解所指向的 API 的客户端。请参考the documentation here

    现在,既然您希望它自动化,您可以试试这个:

    • 编写一个注释处理器,可以处理@Controller 或您正在使用的任何风格。
    • 这个处理器会生成SpringBoot需要的接口作为Feign配置
    • 处理器将生成与具有相同注释的控制器类中完全相同的方法(您可能需要在 SpringMVC 注释中添加/删除一些参数)
    • 这应该作为 Gradle annotationProcessor 依赖项提供

    当然,现在你的SpringBoot应用需要@EnableFeignClients和对应的依赖。

    希望这对你有用。

    【讨论】:

    • 感谢您的回复。不,我没有。我会研究并试一试
    猜你喜欢
    • 1970-01-01
    • 2021-11-08
    • 2020-04-16
    • 2017-12-16
    • 1970-01-01
    • 2018-12-03
    • 2018-03-25
    • 2014-02-05
    • 2019-04-22
    相关资源
    最近更新 更多