首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swagger-ui不使用jackson-数据格式-xml

Swagger-ui不使用jackson-数据格式-xml
EN

Stack Overflow用户
提问于 2019-03-12 13:37:55
回答 1查看 491关注 0票数 2

我正在用Spring4.3.18和swagger文档**(SpringFox2.8.0)构建rest。一切都很好,但是如果我将swagger-ui.html添加到swagger-ui.html的**pom.xml依赖项中,就不会再显示了。我认为这是Spring转换器的一个问题,因为当我试图转到需要json转换器的swagger-ui.html时,Spring似乎采用了xml转换器。事实上,我不知道如何解决这个问题,我真的需要杰克逊的依赖,所以我无法消除它。我如何告诉Spring对这个url使用json转换器?我还注意到,当我试图到达swagger-ui.html时,我的浏览器发送的是http报头:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,然后Spring使用xml转换器发送响应,但是swagger需要json来工作。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-03-24 13:41:41

swagger用户界面在jackson-dataformat-xml中不能很好地工作。您可以尝试以下方法。

  1. 您需要添加内容类型: application/json的标题。如果需要调用任何api (例如/v2/api),则需要添加一个http头,以便通过postman接受application/json。
  2. 或确保jackson消息转换器具有比xml更高的优先级。对于回弹,你可以添加。
代码语言:javascript
运行
复制
@Bean
public RequestMappingHandlerAdapter requestHandler() {
    RequestMappingHandlerAdapter adapter = new RequestMappingHandlerAdapter();
    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    List<MediaType> mediaTypeList = new ArrayList<>();
    mediaTypeList.add(MediaType.APPLICATION_JSON);
    converter.setSupportedMediaTypes(mediaTypeList);
    adapter.getMessageConverters().add(converter);
    return adapter;
}
  1. 最简单。抱歉的。删除jackson-数据格式-xml依赖项。试试JAXB或者别的什么。

您可以在这里更多地阅读https://github.com/springfox/springfox/issues/1835

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55122836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档