我使用招摇来记录我的REST api。
我不想自动生成文档,因此我使用了带注释的swagger-jaxrs。
@GET
@Path("/news/{id}")
@Produces(MediaType.APPLICATION_JSON)
@ApiResponses(value = {
@ApiResponse(code = 200, message = "News found", response = NewsEntry.class)})
NewsEntry是我的模特,它的设置如下:
@ApiModel("News Entry")
public class NewsEntry {
@ApiModelProperty(value = "the id of the item", required = true)
private static long id;
@ApiModelProperty(value = "content", required = true)
private static String content;
}
经过几次测试后,我发现,如果NewsEntry中没有getter / setter,它不会崩溃,但是,它会生成一个空模型......任何我想知道的事情。做错了?
这是我的pom:
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey-jaxrs</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.8 </version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-core</artifactId>
<version>1.5.8 </version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.8 </version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.8 </version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>swagger-ui</artifactId>
<version>2.1.4</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.1.4.Final</version>
</dependency>
答案 0 :(得分:1)
看起来你正在使用一些jaxrs1实现。 因此,在pom中只有一个包用法就足够了
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.0</version>
</dependency>
它是一个组合包,您可以在此处看到:https://mvnrepository.com/artifact/io.swagger/swagger-jaxrs/1.5.0
您是否尝试创建引用另一个模型而不是NewsEntry.class?
您是否按照教程并使用相应的注释注释了所需的类?在1.5.8之前。是@Api
否则您是否像教程一样使用了正确的包扫描? https://github.com/swagger-api/swagger-core/wiki/Swagger-Core-RESTEasy-2.X-Project-Setup-1.5