在Swagger 裏面默認用的是Jackson 序列化json
對於咱們屬性全是用的FastJson的來講的話 很痛苦api
參數名全成了默認屬性名app
Swagger提供的默認註解 ApiModelProperty 的name屬性也是徹底不起做用的ide
若是項目沒有配置Jackson的話 swagger是運行不起來的ui
貼配置:接口
@Configuration @EnableSwagger2 public class Swagger2 { @Autowired private ApplicationContext applicationContext; @PostConstruct public void setObjectMapper() { ObjectMapper objectMapper = new ObjectMapper(); SimpleModule module = new SimpleModule(); objectMapper.registerModule(module); objectMapper.setAnnotationIntrospector(new JacksonAnnotationIntrospector() { @Override public boolean isAnnotationBundle(Annotation ann) { if (ann.annotationType() == JSONField.class) { return true; } return super.isAnnotationBundle(ann); } @Override public PropertyName findNameForSerialization(Annotated a) { PropertyName nameForSerialization = super.findNameForSerialization(a); if (nameForSerialization == null || nameForSerialization == PropertyName.USE_DEFAULT) { JSONField jsonField = _findAnnotation(a, JSONField.class); if (jsonField != null) { return PropertyName.construct(jsonField.name()); } } return nameForSerialization; } @Override public PropertyName findNameForDeserialization(Annotated a) { PropertyName nameForDeserialization = super.findNameForDeserialization(a); if (nameForDeserialization == null || nameForDeserialization == PropertyName.USE_DEFAULT) { JSONField jsonField = _findAnnotation(a, JSONField.class); if (jsonField != null) { return PropertyName.construct(jsonField.name()); } } return nameForDeserialization; } }); ObjectMapperConfigured objectMapperConfigured = new ObjectMapperConfigured(applicationContext, objectMapper); applicationContext.publishEvent(objectMapperConfigured); } @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("在線接口文檔") .contact("good_xw@qq.com") .version("3.2") .build(); } }
Jackson配置包含文檔
JacksonAnnotationIntrospector
主要是用來對註解JSONFiled的支持it
加上後的效果io