【发布时间】:2018-09-20 00:41:36
【问题描述】:
我正在开发一个应该启用 swagger-ui 的 Spring Boot 应用程序。 访问http://localhost:8080/swagger-ui.html时弹出错误: “无法推断基本 url ...”
另外,http://localhost:8080/v2/api-docs 显示: 第 1 行第 1 列的错误:文档为空 本页源代码为json,但请求为Content-Type application/xhtml+xml;charset=UTF-8
这似乎是我自定义 Jackson 配置的原因:
@Configuration
public class JacksonConfig {
@Bean
public MappingJackson2XmlHttpMessageConverter mappingJackson2XmlHttpMessageConverter() {
return new MappingJackson2XmlHttpMessageConverter(objectMapper());
}
@Bean
public ObjectMapper objectMapper() {
JacksonXmlModule xmlModule = new JacksonXmlModule();
xmlModule.setDefaultUseWrapper(false);
XmlMapper objectMapper = new XmlMapper(xmlModule);
objectMapper
.registerModule(new ParameterNamesModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule());
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
objectMapper
.configure(MapperFeature.DEFAULT_VIEW_INCLUSION, false)
.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
return objectMapper;
}
}
具有以下依赖关系:
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
这里也描述了这个问题:https://github.com/springfox/springfox/issues/1835
所以我的问题是:如何指定杰克逊消息转换器的优先级以使 swagger-ui 正常工作?
【问题讨论】:
标签: spring-boot swagger swagger-ui jackson-dataformat-xml