文档章节

SpringBoot 默认 content-type 设置为 XML

h
 hao5ang
发布于 2017/11/23 22:39
字数 265
阅读 1968
收藏 1

SpringBoot REST 项目, 默认返回类型为 JSON. 但是为了兼容老项目调用默认返回XML, 所以需要设置默认类型为XML.

默认设置为XML以后, 客户端依然可以设置 http header, 的 Acceptapplication/json, SpringBoot 将会正常返回 JSON 数据.

设置方法如下:

/**
 * 将默认 content-type 设置为 XML <br/>
 * 
 * 参考: <br/>
 * 
 * http://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/content-negotiation-default-media-type/
 * <br/>
 * 
 * https://stackoverflow.com/questions/33009918/spring-boot-controller-content-negotiation
 */

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer.defaultContentType(MediaType.TEXT_XML);
    }


    // 下面解决因在SpringBoot项目中使用 @EnableWebMvc 注解, 而无法使用 swagger-ui 的问题
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        /**
         * Setup Swagger UI <br/>
         * refer: https://github.com/springfox/springfox/issues/1427
         */
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/",
                "classpath:/META-INF/resources/images");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");

    }
}

SpringBoot 要支持 XML 序列化需要引入 Jackson 的 XML 支持, 参考: https://my.oschina.net/u/1169457/blog/1577238

同时使用swagger注意, 在 SpringBoot 项目中, 如果使用@EnableWebMvc 注解, 会影响 SpringBoot 的一些加载, 而导致 swagger ui 无法使用. 所以上面添加了相应的 ResourceHandler 去解决这个问题.

© 著作权归作者所有

h

hao5ang

粉丝 7
博文 23
码字总数 14973
作品 0
临沂
私信 提问
补习系列-springboot mime类型处理

目标 了解http常见的mime类型定义; 如何使用springboot 处理json请求及响应; 如何使用springboot 处理 xml请求及响应; http参数的获取及文件上传下载; 如何获得原始请求的字节流; 6.了解...

美码师
2018/07/17
0
0
SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver

关于Web应用的全局异常处理,上一篇介绍了结合的方式来实现web应用的全局异常管理; 本篇博文则带来另外一种并不常见的使用方式,通过实现自定义的,来处理异常状态 上篇博文链接: SpringBoo...

小灰灰Blog
10/14
16
0
10分钟入门SpringBoot

SpringBoot是基于spring框架衍生的一种新的微服务框架,如果对Spring有一定了解的同学肯定知道在Spring中需要配置各种xml文件完成bean的注册操作,随着服务越来越多,配置就变得越来越复杂,...

jwfy
2018/06/14
0
0
好程序员分享SpringBoot须掌握的注解

前言 Spring经历了如下几个阶段: 第一阶段:xml配置 在Spring 1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的...

好程序员IT
06/04
16
0
SpringBoot_总结_01_配置详解

一、入口类和@SpringBootApplication SpringBoot项目通常有一个名为*Application的入口类,入口方法为此类的main方法。 1. @SpringBootApplication @SpringBootApplication注解是一个组合注解...

shirayner
2018/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4

作者:胡呈清 整理 MySQL 8.0 文档时发现一个变更:默认字符集由 latin1 变为 utf8mb4。想起以前整理过字符集转换文档,升级到 MySQL 8.0 后大概率会有字符集转换的需求,在此正好分享一下。...

爱可生
21分钟前
4
0
不管单机还是集群的限流实现已经给你准备好了

限流算法 计数器算法 维护一个counter,规定在单位时间内counter的大小不能超过最大值,每隔固定时间就将counter的值置零。如果这个counter大于设定的阈值,那么系统就拒绝请求 漏桶算法 维护...

阿提说说
32分钟前
4
0
文件管理

通过CLI登录进行文件管理 .表示当前目录,..表示父目录,具有隐藏文件。支持缩写与TAB键补全 1、目录操作 pwd#打印工作目录 cd <directory>#改变工作目录 dir [/all][<directory>]#查看目录内...

悠悠子佩
34分钟前
4
0
Netty学习笔记(10)——Netty中的Channel组件

1. Channel的功能 1. 与NIO中的Channel一样,它实现了网络操作的抽象类,聚合了一系列的网络IO功能,包括读写数据、建立连接、关闭连接等功能。通过外观模式,将数据读写、连接建立与断开等操...

江左煤郎
38分钟前
3
0
二叉树的深度

从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 public int TreeDepth(TreeNode root) { return root == null ? 0 : 1 + Math.max(Tree...

Garphy
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部