相关疑难解决方法(0)

委托设计模式在 Swagger 生成代码中的意义?

当我从 swagger yaml 生成代码时Spring,通常使用模式生成控制器层delegate,这样对于单个模型会生成三个文件。例如,如果我Person在 swagger/open API yaml 文件中定义了一个名为的模型,则会生成三个文件:

  1. PersonApi(包含所有人员操作/方法签名的接口)
  2. PersonApiDelegate(提供所有 PersonApi 方法的默认实现的接口。意味着要被覆盖)
  3. PersonApiController(其中引用了 PersonApiDelegate,以便任何实现都可以覆盖并提供自定义实现)

我的问题是,对于熟悉构建基于 swagger/openapi 生成代码的 api 的人来说,拥有这种模式的意义是什么,而不是仅仅使用 PersonController 类公开服务端点,而不是通过 PersonApi 接口,然后PersonApiDelegate 并最终通过 PersonApiController 公开服务?

我们通过这种模式获得的有价值的设计可扩展性是什么?我试图从互联网上的其他资源中查找信息,但在 swagger-first API 开发方法的背景下找不到好的答案。对此的任何见解都会非常有帮助。

java swagger openapi swagger-codegen openapi-generator

17
推荐指数
1
解决办法
8773
查看次数