当前位置: 首页 > news >正文

深圳外贸网站怎么建可以做自媒体的网站

深圳外贸网站怎么建,可以做自媒体的网站,接设计单的网站,网站建设类别#1 问题描述 在基于Spring Boot的项目中实现了请求转发#xff08;使用 RestTemplate 的 exchange 方法#xff09;的功能#xff0c;忽然在前端报net::ERR_CONTENT_DECODING_FAILED 200 (OK)的错误#xff0c;后端及上游系统日志均显示请求已完成。 #2 原因探寻 上述错…#1 问题描述 在基于Spring Boot的项目中实现了请求转发使用 RestTemplate 的 exchange 方法的功能忽然在前端报net::ERR_CONTENT_DECODING_FAILED 200 (OK)的错误后端及上游系统日志均显示请求已完成。 #2 原因探寻 上述错误字面意思为内容解码失败就是说浏览器拿到后端数据后没办法正常解码。此时我们看看请求响应的编码 可以看到上游系统启用了响应压缩然后中转系统读取方式为 restTemplate.exchange(entity, String::class.java)故当上游系统的响应启用压缩后中转系统按String读取再返回给前端浏览器拿到数据后通过响应头识别到是gzip编码则尝试解压导致前面出现的异常。 #3 修复 要修复其实也很简单在中转系统中用字节数组格式读取响应即可兼容上游系统的各种格式的响应完整代码如下 class ServiceRoute {val logger LoggerFactory.getLogger(javaClass)val restTemplate RestTemplate().also { }fun redirect(request:HttpServletRequest, response:HttpServletResponse, targetUrl:String, extraHeaders: MapString, String??null):ResponseEntityByteArray {val entity createRequestEntity(request, targetUrl, extraHeaders)return restTemplate.exchange(entity, ByteArray::class.java)}Throws(URISyntaxException::class, IOException::class)private fun createRequestEntity(request: HttpServletRequest, url: String, extraHeaders: MapString, String??): RequestEntity* {val httpMethod HttpMethod.valueOf(request.method)val headers parseRequestHeader(request)extraHeaders?.forEach { (k, v) - headers.add(k, v) }//将原始请求转换为字节数组val body StreamUtils.copyToByteArray(request.inputStream)return RequestEntityAny(body, headers, httpMethod, URI(url))}/*** 复制原始请求的 header 信息*/private fun parseRequestHeader(request: HttpServletRequest): MultiValueMapString, String? {val headers HttpHeaders()val headerNames: ListString Collections.list(request.headerNames)for (headerName in headerNames) {val headerValues: ListString Collections.list(request.getHeaders(headerName))for (headerValue in headerValues) {headers.add(headerName, headerValue)}}return headers} }使用示例 RequestMapping(route/**, name 转发请求) fun redirect(response:HttpServletResponse):ResponseEntity* {val path request.servletPath.replace(/route/, )return try{//自定义请求头val extraHeaders mapof(from to 中介系统)route.redirect( request, response, http://localhost:8080/${path}, extraHeaders ).also {//此处可查看返回内容}}catch (e:Exception) {logger.error([SERVICE-ROUTE] 转发失败, e)ResponseEntity(e.message, HttpStatus.INTERNAL_SERVER_ERROR)}finally {//此处可以做一些后续操作} }
http://www.dnsts.com.cn/news/23339.html

相关文章:

  • 可以做视频推广的网站有哪些linux wordpress教程
  • 网站建设的公司做销售建筑学专业大学世界排名
  • 如何做企业网站宣传网络广告公司怎么做
  • 做阿里巴巴网站应怎样定位顺的做网站便宜吗
  • 网站开发软件 d广州网站开发广州亦客网络解答
  • 网站转载代码网站制作自己
  • 影视网站的设计与实现小白怎么做网页
  • 网站搭建哪里找最好营销推广案例
  • apache 设置多个网站做网站那种布局好
  • 网站流量统计模板佛山网站设计定制
  • 龙华网站建设创意网站案例
  • 有没有教做熟食的网站做网站通过什么挣钱
  • 灰色行业网站网站建设属于哪类税率
  • 苏州网站排名论述制作网站的一般过程
  • 济南学网站建设哪里好企业网站建站公司郑州
  • 海口高端品牌网站建设iis网站服务器基本安全设置步骤
  • wordpress给栏目页加后缀光泽网站建设wzjseo
  • 紫色网站建设银行指定网站
  • 做暧暖的免费网站网站主页被做跳转
  • 做画册好的网站全部视频支持代表手机浏览器
  • 嘉定网站设计制作托管维护北京企业官网网站建设
  • 教做网站视频杨凌网站开发
  • 建设部执业资格注册中心网站房地产销售提成
  • 英文网站公司跑流量的网站
  • 营销型企业网站包括哪些类型中国十大外贸公司
  • 汉阳做网站万网账号跟网站有关系吗
  • 吉林省建设厅证件查询网站知知网站推荐
  • oto网站开发梧州做网站建设
  • 用ps做网站主页单品商城网站源码
  • 网站在哪做易企秀可以做网站吗