我使用Quarkus 1.10.3.final(包括quarkus-resteasy-jackson和quarkus-smallrye-openapi)和Immutables库(org.immmutables:value:2.8.8)来定义各种应用程序模型。我的问题是,大摇大摆的UI似乎不能识别标准的jackson@jsonSerialize(as=)和@jsonDeserialize(as=)注释。
在下面定义的模型示例中,我希望在Swagger UI页面的components部分中看到四(4)个字段。
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonDeserialize(as = ImmutableFieldMetaData.class)
@JsonSerialize(as = ImmutableFieldMetaData.class)
@Value.Immutable
public interface FieldMetaData {
String field();
String type();
Boolean deprecated();
String description();
}
Swagger UI中的这个问题在Swagger UI1.5.14版本中得到了解决,随后在Swagger UI2.0版本中被删除,然后在2.1版本中再次得到修复。
在深入研究smallrye-openapi的源代码之后,可以向每个不可变字段添加@schema注释,即。
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonDeserialize(as = ImmutableFieldMetaData.class)
@JsonSerialize(as = ImmutableFieldMetaData.class)
@Value.Immutable
@Schema(implementation = ImmutableFieldMetaData.class)
public interface FieldMetaData {
String field();
String type();
Boolean deprecated();
String description();
}
如果需要,您也可以将字段注释为@schema。
我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }
理想情况下,我们将有一个显示所有标记为public的控制器/方法的大摇大摆的页面,以及另一个显示所有endpoint的密码安全endpoint。这可能吗?
我们在我们的泽西应用程序中使用了@Role允许注释来限制用户对应用编程接口某些部分的访问。我们如何在SwaggerUI中显示这些信息? 到目前为止,我已经用@ApiOperation注释了方法以显示in/out参数,并尝试使用@Authorization/@AuthorizationScope,但我只为我们不使用的oauth2显示了它。最接近out case的是ApiKeyAuthDefiniti
有没有人用spring-data-rest配置了swagger。我知道swagger有DocumentationConfig类,它扫描所有spring-mvc请求映射。但是,如何将其用于spring-data-rest,因为没有定义显式的请求映射。非常感谢在这方面的任何帮助。此外,我还想知道,是否有其他支持Spring-Data-REST的文档框架。
我想从spring boot 2中切换到Micronaut框架。而我也在为那些大摇大摆的场景而挣扎。 在spring boot 2项目中,我有以下依赖项: 和swaggreconfig.class: 它可以很好地启动swagger-ui和spring boot 2应用程序。 我应该向maven添加哪些依赖项,我应该创建哪些类来为Micronaut项目获得相同的结果?
我想大摇大摆地发布一个json正文,就像这样: 目前,我有这样的定义: 但是数据是在URL中发送的。这里是Swagger提供的生成的curl: 我知道<code>查询</code>关键字不好,但我没有找到POST JSON正文的方法。我尝试了<code>formData</code>,但没有成功。