【问题标题】:How to implement spring annotations from an api swagger in a class controller?如何从类控制器中的 api swagger 实现 spring 注释?
【发布时间】:2017-10-17 15:39:06
【问题描述】:

我正在开发一个 RESTfull Web 服务,它使用带有 swagger-codegen-maven-plugin 的 swagger 创建模型、控件和 api 类(这是一个带有 spring 注释的接口)。

pom.xml中的插件是下一个:

     <plugin>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-codegen-maven-plugin</artifactId>
            <version>2.2.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <inputSpec>C:\API.yaml</inputSpec>
                        <language>spring</language>
                        <configOptions>
                            <dateLibrary>java8</dateLibrary>
                            <useTags>true</useTags>
                            <sourceFolder>/</sourceFolder>
                        </configOptions>
                    </configuration>
                </execution>
            </executions>           
    </plugin>

当我想创建一个新的控制器类(它与Swagger创建的不同)时,它实现了api类和方法的签名,但是,这个类没有在方法的参数中写注释(示例:@RequestParam、@RequestHeader 等)

API接口;

public interface Api{

    @RequestMapping(value = "/class-services",
        method = RequestMethod.GET)
    default ResponseEntity<XXXType> getClass(@ApiParam(value = "id" ,required=true) @RequestHeader(value="Id", required=true) String id) {
        // do some magic!
        return new ResponseEntity<XXXType>(HttpStatus.OK);
    }

}

控制器类:

@Controller
public class controller implements Api {

    public ResponseEntity<XXXType> getClass(String id) {
        // do some magic!
       return new ResponseEntity<XXXType>(HttpStatus.OK);
    }

}

这个结果在 swagger-ui 中定义了每个参数,如“查询”。 Swagger 不区分 header 参数类型。

我想知道当我实现Api类时是否存在某种方式来扩展接口旁边的注释,(我想知道复制和粘贴符号方法)。

注意:我将 Java 8 用于 LocalTime 和 LocalDate 类。

问候。

【问题讨论】:

    标签: java spring maven spring-mvc


    【解决方案1】:

    swagger-codegen-maven-plugin 的&lt;configOptions&gt; 中的&lt;delegatePattern&gt;true&lt;/delegatePattern&gt; 参数帮助我解决了类似的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多