我写了一个自定义的Jackson JsonSerializer,将我的Money POJO序列化为:
{
"amountMinorUnits": 123,
"currency": "USD",
}
但是,在Swagger中,当响应POJO引用Money Pojo时,Swagger会看到原始的Money POJO并确定API使用了该货币,而不是客户序列化的版本。
所以,如果我有
class Person {
Money salary;
...
}
如何弄清楚Money JSON是什么?
谢谢
答案 0 :(得分:0)
在您的招摇配置中使用directModelSubstitute
。
Spring Boot应用程序示例。只需专注于敏捷配置:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.directModelSubstitute(Response.class, ResponseSerializer.class)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}