【发布时间】: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