ylbtech-Java-Class-C:org.springframework.http.converter.StringHttpMessageConverter
1.返回顶部
1.1、
import org.springframework.http.converter.StringHttpMessageConverter;
1.2、
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); // 防止中文乱码
1.3、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
1、
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by Fernflower decompiler)
  4. //
  5.  
  6. package org.springframework.http.converter;
  7.  
  8. import java.io.IOException;
  9. import java.nio.charset.Charset;
  10. import java.nio.charset.StandardCharsets;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import org.springframework.http.HttpHeaders;
  14. import org.springframework.http.HttpInputMessage;
  15. import org.springframework.http.HttpOutputMessage;
  16. import org.springframework.http.MediaType;
  17. import org.springframework.lang.Nullable;
  18. import org.springframework.util.Assert;
  19. import org.springframework.util.StreamUtils;
  20.  
  21. public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String> {
  22. public static final Charset DEFAULT_CHARSET;
  23. @Nullable
  24. private volatile List<Charset> availableCharsets;
  25. private boolean writeAcceptCharset;
  26.  
  27. public StringHttpMessageConverter() {
  28. this(DEFAULT_CHARSET);
  29. }
  30.  
  31. public StringHttpMessageConverter(Charset defaultCharset) {
  32. super(defaultCharset, new MediaType[]{MediaType.TEXT_PLAIN, MediaType.ALL});
  33. this.writeAcceptCharset = true;
  34. }
  35.  
  36. public void setWriteAcceptCharset(boolean writeAcceptCharset) {
  37. this.writeAcceptCharset = writeAcceptCharset;
  38. }
  39.  
  40. public boolean supports(Class<?> clazz) {
  41. return String.class == clazz;
  42. }
  43.  
  44. protected String readInternal(Class<? extends String> clazz, HttpInputMessage inputMessage) throws IOException {
  45. Charset charset = this.getContentTypeCharset(inputMessage.getHeaders().getContentType());
  46. return StreamUtils.copyToString(inputMessage.getBody(), charset);
  47. }
  48.  
  49. protected Long getContentLength(String str, @Nullable MediaType contentType) {
  50. Charset charset = this.getContentTypeCharset(contentType);
  51. return (long)str.getBytes(charset).length;
  52. }
  53.  
  54. protected void writeInternal(String str, HttpOutputMessage outputMessage) throws IOException {
  55. HttpHeaders headers = outputMessage.getHeaders();
  56. if (this.writeAcceptCharset && headers.get("Accept-Charset") == null) {
  57. headers.setAcceptCharset(this.getAcceptedCharsets());
  58. }
  59.  
  60. Charset charset = this.getContentTypeCharset(headers.getContentType());
  61. StreamUtils.copy(str, charset, outputMessage.getBody());
  62. }
  63.  
  64. protected List<Charset> getAcceptedCharsets() {
  65. List<Charset> charsets = this.availableCharsets;
  66. if (charsets == null) {
  67. charsets = new ArrayList(Charset.availableCharsets().values());
  68. this.availableCharsets = (List)charsets;
  69. }
  70.  
  71. return (List)charsets;
  72. }
  73.  
  74. private Charset getContentTypeCharset(@Nullable MediaType contentType) {
  75. if (contentType != null && contentType.getCharset() != null) {
  76. return contentType.getCharset();
  77. } else if (contentType != null && contentType.isCompatibleWith(MediaType.APPLICATION_JSON)) {
  78. return StandardCharsets.UTF_8;
  79. } else {
  80. Charset charset = this.getDefaultCharset();
  81. Assert.state(charset != null, "No default charset");
  82. return charset;
  83. }
  84. }
  85.  
  86. static {
  87. DEFAULT_CHARSET = StandardCharsets.ISO_8859_1;
  88. }
  89. }
2、
5.返回顶部
 
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Java-Class-C:org.springframework.http.converter.StringHttpMessageConverter的更多相关文章

  1. 报错:org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

    org.springframework.http.converter.json.MappingJacksonHttpMessageConverter   1.错误描述 严重: Servlet /hux ...

  2. 异常:org.springframework.http.converter.HttpMessageNotReadableException

    spring(springboot.springmvc)出现标题的异常一般是由于controller的入参失败引起的. 介绍下常规入参的两种格式: ,这种方式的入参主要是接受key-value的参数, ...

  3. Spring整合Mybatis报 java.lang.ClassNotFoundException:org.springframework.core.metrics.ApplicationStartup,即:spring的版本过高,采用RELEASE稳定版

    1.遇到的问题: 今天在弄spring整合mybatis的时候遇到一个小问题,如图所示: 简单来说:就是我的spring的xml文件没找到,我就奇了怪了,我所有的配置都没问题啊! 我pom.xml配置 ...

  4. SSM框架搭建java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

    在搭建 spring springMVC Mybatis 时候出错 将org.springframework.http.converter.json.MappingJacksonHttpMessage ...

  5. Java-Class-C:org.springframework.web.client.RestTemplate

    ylbtech-Java-Class-C:org.springframework.web.client.RestTemplate 1.返回顶部 1. org.springframework.web.c ...

  6. SpringMVC分页查询无法直接将对象转换成json的解决办法(报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错)

    在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org ...

  7. org.springframework.http.converter.HttpMessageNotReadableException

    发起请求报错:org.springframework.http.converter.HttpMessageNotReadableException 查看请求头: application/json 所以 ...

  8. SSM报错:No converter found for return value of type: class java.util.ArrayList at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverter

    我使用的是SSM框架,是在编写测试RESTFUL接口的时候出现, @RequestMapping(value = "/selectAll", method = RequestMet ...

  9. Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.Date' to required type 'java.sql.Timestamp' for property 'wfsj'; nested exception is java.lang.Ill

    异常信息如下: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value ...

随机推荐

  1. Vue学习笔记【25】——Vue组件(组件间传值)

    父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据  <script>    // 创建 Vue 实例,得到 ViewModel    var ...

  2. 使用pangolin库画出轨迹

    https://github.com/stevenlovegrove/Pangolin cmake_minimum_required(VERSION 2.8) project(chapter3) ) ...

  3. Eclipse 安装Activiti插件

    建议使用vpn或其他翻墙手段安装(否则下载速度可能很慢) 我的博客中有介绍如何自己搭建属于自己的ssr,https://www.cnblogs.com/zktww/p/10839347.html(由于 ...

  4. (3)centos7 目录结构

    根目录下的文件下 根目录:  /   注意:根目录只存放目录,并且/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中 /bin 二进制目录,存放用户级的GUN工具  /bo ...

  5. jenkins在pipline中运行后台命令

    需求 在jenkin中启动java程序或者python程序的时候,希望程序在后台执行,并在jenkins构建完成之后继续执行.在工作中有两个地方我碰到了这种需求 在shell script输入框中pi ...

  6. 1.2 JSX 语法

    官方文档 https://facebook.github.io/react/docs/jsx-in-depth.html JSX 语法听上去很讨厌,但当真正使用的时候会发现,JSX 的写法在组件的组合 ...

  7. 2、使用siege进行服务端性能测试

    先查看siege帮助 输入siege -h 翻译一下常用命令 -c 指定并发数 -r 指定重复次数 -d 指定请求的延迟时间,注意每个请求间随机延迟 -f 指定url列表,可以一次给多个地址加压 -t ...

  8. Perl 换行打印

    #!/usr/bin/perl$, = "\t";$\ = "\n"; for($i=0;$i<3;$i++){ print("i: " ...

  9. Feign 系列(04)Contract 源码解析

    Feign 系列(04)Contract 源码解析 [TOC] Spring Cloud 系列目录(https://www.cnblogs.com/binarylei/p/11563952.html# ...

  10. JQuery中内容操作函数、validation表单校验

    JQuery:内容体拼接(可以直接拼接元素节点和内容节点) JQuery实现: 方案1:A.append(B); == B.appendTo(A);A的后面拼接B 方案2: A.prepend(B); ...