首页 > 其他分享 >SpringBoot中自定义消息转化器

SpringBoot中自定义消息转化器

时间:2023-02-06 19:33:45浏览次数:35  
标签:SpringBoot 自定义 stringHttpMessageConverter springframework StringHttpMessageConve


场景

1.SpringBoot自动配置了消息转化器。

2.自定义消息转化器,只需要在类中添加消息转化器的@Bean,就会被SpringBoot自动加入到容器中。

实现


新建Controller

package com.example.demo.controller;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class TestMessageConvertController {

//定义消息转换器
//SpringBoot默认配置了消息转换器
@Bean
public StringHttpMessageConverter stringHttpMessageConverter() {
StringHttpMessageConverter stringHttpMessageConverter =new StringHttpMessageConverter(Charset.forName("ISO8859-1"));
return stringHttpMessageConverter;
}

@RequestMapping("/testMessageConvert")
@ResponseBody
public String testMessageConvert() {
return "你好!!!";
}
public static void main(String[] args) {
SpringApplication.run(TestMessageConvertController.class, args);
}
}

运行项目,打开浏览器输入:

​​http://localhost:8080/testMessageConvert​​

SpringBoot中自定义消息转化器_spring

由此可见,SpringBoot自带编码过滤器,即使是中文也不会乱码。

实现自定义编码过滤器

package com.example.demo.controller;

import java.nio.charset.Charset;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class TestMessageConvertController {

//定义消息转换器
//SpringBoot默认配置了消息转换器
@Bean
public StringHttpMessageConverter stringHttpMessageConverter() {
StringHttpMessageConverter stringHttpMessageConverter =new StringHttpMessageConverter(Charset.forName("ISO8859-1"));
return stringHttpMessageConverter;
}

@RequestMapping("/testMessageConvert")
@ResponseBody
public String testMessageConvert() {
return "你好!!!";
}
public static void main(String[] args) {
SpringApplication.run(TestMessageConvertController.class, args);
}
}

 

再运行项目,刷新浏览器

SpringBoot中自定义消息转化器_源码下载_02


标签:SpringBoot,自定义,stringHttpMessageConverter,springframework,StringHttpMessageConve
From: https://blog.51cto.com/BADAOLIUMANGQZ/6040304

相关文章

  • SpringBoot+MyBatis的动态SQL、使用动态SQL时List传值错误解决方案
    目录实现动态SQL的四种方式:1、XML配置2、脚本SQL3、在方法中构建SQL4、结构化SQL关于动态SQL的List传值错误问题1、错误代码2、解决错误实现动态SQL的四种方式:1、XML配置......
  • 详解Spring AOP自定义可重复注解没有生效问题
    目录1.问题背景2.不啰嗦,上代码3.问题排查3.1是不是切点写得有问题,于是换成如下形式:3.2是不是使用的地方不是代理对象4.问题原因 1.问题背景工作中遇......
  • 自定义鼠标右键菜单
     鼠标右键弹出框<template><divclass="conversation-item-menubox-shadow1"><spanclass="menu-itemoperation-text"@click.stop="openNewPage">打......
  • 若依前后端分离版怎样修改主页面显示请求的SpringBoot后台数据
    场景使用若依的前后端分离版,本来的首页效果是 现在如果要根据具体业务实现从后台获取要显示的数据实现类似下面的效果 注:霸道的程序猿获取编程相关电子书、教程推送与免......
  • CSS文本颜色和大小写转化
    CSS有很多用于格式化文本的属性。比如,文本的颜色、大小写转化、对齐方式、文本间距、文本装饰等等。(此时会同时演示几个案例)首先,我们来介绍CSS如何为文本添加颜色。通过声......
  • abp vnext自定义claim
    创建UserClaimsPrincipalFactory工厂在Project.Domain中创建ProjectUserClaimsPrincipalFactoryusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;......
  • ABP的IdentityServer4中使用自定义的claim声明
    ABP的IdentityServer4使用自定义的claim声明,我是想增加一个部门Id,登录用户的中文名称在IdentityServer项目的AbpModule中,context.Services.AddScoped<IProfileServ......
  • gradle构建springboot多模块项目配置
    父模块配置>build.gradlebuildscript{//统一版本管理ext{springBootVersion='2.3.12.RELEASE'springCloudVersion='Hoxton.SR12'......
  • abp 自定义token
    如何删除访问令牌中未使用的声明?ABP框架版本: v5.2.2用户界面类型:角度数据库提供者:EFCore分层(MVC)或身份服务器分离(角度):是/否异常消息和堆栈跟踪:重现问......
  • SpringBoot数据分页工具类
    SpringBoot数据分页工具类/***数据分页工具*/publicclassPageUtil{publicstaticPagepageHelp(@NotNullIntegerpageNum,@NotNullIntegerpageSize,@No......