SpringBoot添加自定义HttpMessageConverter

为什么需要自定义MessageConverter,当我们想要让一些数据以我们自定义的格式返回,而不是普通的json或xml格式的数据。并且底层的最终是遍历MessageConverter,然后再进行数据转换的。

首先需要创建一个自己的HttpMessageConverter,代码如下

public class MyMessageConverter implements HttpMessageConverter {

    @Override
    public boolean canRead(Class clazz, MediaType mediaType) {
        return false;
    }
    //Pet只是用来测试的一个pojo类
    @Override
    public boolean canWrite(Class clazz, MediaType mediaType) {
        return clazz.isAssignableFrom(Pet.class);
    }
   //设置能够转换的媒体类型
    @Override
    public List getSupportedMediaTypes() {
        return MediaType.parseMediaTypes("application/mydata");
    }

    @Override
    public List getSupportedMediaTypes(Class clazz) {
        return HttpMessageConverter.super.getSupportedMediaTypes(clazz);
    }

    @Override
    public Pet read(Class clazz, HttpInputMe

你可能感兴趣的:(spring,boot,http,后端)