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

如何做好网站建设前期网站规划企业做网站营销的四大途径

如何做好网站建设前期网站规划,企业做网站营销的四大途径,网页设计师工作职责,威联通nas 做网站问题1描述: 今天在A服务使用openfeign调用B服务的时候,发现经常会偶发性报错。错误如下: 情况为偶发,很让人头疼。 两个接口如下: A服务接口: delayReasonApi.test(student);就是使用openfeign调用B服务的…

问题1描述:

今天在A服务使用openfeign调用B服务的时候,发现经常会偶发性报错。错误如下:在这里插入图片描述
情况为偶发,很让人头疼。
两个接口如下:
A服务接口:
在这里插入图片描述
delayReasonApi.test(student);就是使用openfeign调用B服务的接口。
B服务接口:
在这里插入图片描述

原因分析:

因为A服务的接口是一个文件上传的接口,所以前端请求头中使用的是multipart/form-data 来请求的该接口。而B服务的接口是一个用json接口参数的接口,所以需要请求头中的Content-Type为application/json。

如果在上面都没有配置过的情况下,在B服务的接口参数使用@RequestBody注解来接受的时候,openfeign是会默认使用application/json 的content-type来进行请求的。代码如下:
在这里插入图片描述
但是一般我们都会在项目中加上openfeign的配置文件,将目前的所有的header中的参数全部写入openfeign的请求中,如下:

@Component
public class FeignConfiguration implements RequestInterceptor {@Overridepublic void apply(RequestTemplate template) {ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();if (attributes != null) {HttpServletRequest request = Objects.requireNonNull(attributes).getRequest();Enumeration<String> headerNames = request.getHeaderNames();if (headerNames != null) {while (headerNames.hasMoreElements()) {String name = headerNames.nextElement();String values = request.getHeader(name);template.header(name, values);}}}}
}

这样就导致,我A服务接口使用的是multipart/form-data,而B服务接口需要的是application/json,而我的配置类会把A接口的multipart/form-data写到请求头中,这样就会导致openfeign在请求的时候会有两个content-Type,而且这两个值的顺序是不一定的,有的时候application/json在前面,有的时候multipart/form-data在前面:

在这里插入图片描述
在这里插入图片描述
我估计B服务在拿的时候只那集合中的第一个,但是我没找源码嘿嘿。当multipart/form-data在前面的时候,就会报上面的错误。

所以这个时候就有一个解决办法:

把我们的配置类中的代码进行修改,跳过content-type的赋值。
在这里插入图片描述
如此,openfeign就只会用默认的application/json进行请求了。

问题2描述:

延续上面的问题,当我修改了配置类之后,发现还是会有这样的情况,后来发现是我们的微服务的项目中有两个服务都写了openfeign的配置类,而这两个配置类都被引用在了A服务中。openfeign在调用接口的时候会先迭代所有的配置类,导致前面的情况又重演了一遍。
在这里插入图片描述

解决方法:

删掉一个配置类。

问题3:

继续上面的情况,如果B服务的接口也是个文件上传接口,那么这个时候也是需要使用multipart/form-data的,那这个时候需要怎么做呢?openfeign是否会默认使用multipart/form-data呢?
B接口如下:
在这里插入图片描述

测试结果:

content-type为空,并且会报错
在这里插入图片描述
在这里插入图片描述

解决办法:

在B接口上加上 consumes = “multipart/form-data”
在这里插入图片描述
此时content-type就有值了。
在这里插入图片描述

end!!!

http://www.yayakq.cn/news/797984/

相关文章:

  • 做微商选择的哪个平台微平台网站html5混合app开发
  • 公司网站建设报告自己免费怎么制作网站吗
  • 上海网站建设公司兴田德润优惠吗南昌做公司网站
  • 淘宝联盟返利网站怎么做桂城网站制作
  • 东莞网站建设 手袋厂怎么学装修设计
  • 网站空间租用网站制作企业有哪些
  • 做网站模板和服务器是一样的吗如何制作网站主页
  • 阿里云做电脑网站局域网聊天工具有哪些
  • 做计算机题目的网站新浪体育新闻
  • 重庆动画网站建设网站后台发布了但看不见
  • 网上建设网站电子工程网如何删除帖子
  • 网站资质证书wordpress权限管理
  • 做网站需要平台电商网站制作项目描述
  • 如何做亚马逊备案的网站给企业做网站的好处
  • 把网站做成微信小程序电商平台推广费用预算
  • 备案成功后多久可以打开网站公司做网站推广百度和阿里巴巴
  • 广东省建设网站自备服务器做网站
  • 做爰全过程免费的视网站彩票网站建设要多少钱
  • 厦门响应式网站制作吉隆坡建设大学中文网站
  • 网站服务器连接被重置中国排名前十的广告公司
  • 杭州高端网站卢龙建设银行官网网站
  • 营销型网站的整体规划做qq群排名的网站是否违规
  • 广州模板建站系统中天建设集团有限公司电话号码
  • 网站开发的进度控制计划表桂平做网站公司
  • 自己个人网站后台怎么做跨境网站开发公司
  • 网站建设需求表重庆网站建设mswzjs
  • 为什么建设网站吉林百度seo
  • seo网站优化方法全免费云游戏网页在线玩
  • php网站建设基本流程广州免费核酸采集点时间
  • asp企业网站开发技术南宁网站建设专业品牌