代码之家  ›  专栏  ›  技术社区  ›  Robert Strauch

在OpenAPI Spring生成器中使用@GetMapping而不是@RequestMapping?

  •  0
  • Robert Strauch  · 技术社区  · 2 年前

    Gradle插件使用Spring的OpenAPI生成器生成我的接口 @RequestMapping 注释。是否也可以生成具有具体HTTP方法注释的类,例如, @GetMapping ?

    虽然我找不到这样的选择 in the documentation ,这篇博客文章似乎使用了这样的注释:

    https://www.baeldung.com/java-openapi-generator-server

    1 回复  |  直到 2 年前
        1
  •  1
  •   TomáÅ¡ Macoun    2 年前

    使用OpenAPI生成器,您可以生成具有特定HTTP方法注释的Spring控制器,如 @GetMapping , @PostMapping ,等等,而不是泛型 @RequestMapping 注释。这可以通过在OpenAPI规范文件中正确配置生成器或通过命令行选项来实现。

    在OpenAPI规范文件中,可以指定操作级别 x-spring-annotations 属性来控制为每个操作生成的Spring注释。例如

    paths:
      /example:
        get:
          x-spring-annotations:
            operation: "@GetMapping"
    

    这应该有助于解决这个问题。

    总之,如果您喜欢更紧凑和自包含的规范 @请求映射 方法可能是合适的。然而,如果您重视关注点的分离,并保持OpenAPI规范仅专注于定义端点,那么第二种方法可能会更好。最终,这取决于您的偏好和项目的具体要求。