我正在用swagger创建我的spring restful service文档。
示例请求处理程序方法及其下面的文档。它有效:
@ApiOperation(value = "Returns user details", notes = "Returns a complete list of users details with a date of last modification.", response = User.class)
public Response getUser(@ApiParam(name = "userName", value = "Alphanumeric login to the application", required = true) @PathParam("userName") String userName) {
...
}
但是我希望将请求处理程序方法的文本提供给属性文件中的swagger注释(这样做是为了不使用文档文本增加类大小)。
因此,我创建了一个名为" application-swagger.properties"并在" application.properties"中启用它(spring.profiles.active =招摇)。
当我创建如下的api文档时,文本没有显示。
application-swagger.properties:
value=Returns user details
notes=Returns a complete list of users details with a date of last modification.
控制器类:
@Controller
@Profile("swagger")
public class UserController{
.
.
@ApiOperation(value = "${value}", notes = ${notes}", response = User.class)
public Response getUser(@ApiParam(name = "userName", value = "Alphanumeric login to the application", required = true) @PathParam("userName") String userName) {
...
}
.
.
}
有没有办法将文本放入属性文件中的swagger注释?谢谢你的帮助。
答案 0 :(得分:3)
回答这个问题一直很晚,但如果有人需要帮助,可以参考。
步骤:
使用Spring Boot 1.5和Swagger 2.8,不确定以前的版本。
从详细的article中提取的相关内容。
答案 1 :(得分:0)
您不能这样做,因为注释值需要一个常量,但在您的场景中它不是常量。 请参考accected values in the annotaion java doc,说它必须是常量。
在您的情况下,最简单/可读的方法是将所有常量移动到单独的类而不是属性文件中。