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

戴尔网站建设目标中山移动网站建设公司

戴尔网站建设目标,中山移动网站建设公司,我们网站在那里登陆后台系统管理,重庆营销网站背景: 接收一个springcloud项目,UI模块访问其他服务的接口,返回数据统一都是使用fastjson进行转换,但是新开发了几个新模块之后发现fastjson很多bug(各种内存溢出),但是很多地方已经重度依赖fa…

背景:

接收一个springcloud项目,UI模块访问其他服务的接口,返回数据统一都是使用fastjson进行转换,但是新开发了几个新模块之后发现fastjson很多bug(各种内存溢出),但是很多地方已经重度依赖fastjson,只是升级改掉了内存溢出的某些代码,最近突然想起来RestTemplate明明有定义返回值为啥不直接使用,因为我是为了统一规范,按照以前调用模块的写法进行开发,于是说试就试:

1. 调用接口(被调用接口我是统一返回json,也就是使用@RestController注解):

ReturnT responseEntity = restTemplate.postForObject("http://THPWPSERVICE/xx", 实体参数, ReturnT.class);

直接使用定义好的统一返回类型ReturnT进行接收返回值,然后访问页面无数据,后台报错如下:

databind.exc.MismatchedInputException: Cannot construct instance of................

网上各种查询,发现原因是要想接收指定类型,这个指定类型必须继承序列化,且还必须有有参构造函数以及午餐构造函数,于是添加@AllArgsConstructor 、@NoArgsConstructor注解再implements Serializable,完整统一返回类型的实体定义如下:

重启程序,再次访问终于拿到数据了

以下记录下一些RestTemplate调用注意事项:

1. 被调用接口如果形参是实体,那么就在实体之前加上注解@RequestBody,否则无法接收到参数

2. 被调用接口如果形参是基础类型参数(如String、int类型等等),那么就在类型前加上注解@RequestParam,否则无法接收到参数

3. 如果参数非实体类型,那么建议使用get请求   :

 String json = restTemplate.getForObject("http://XXXSERVICE/getById?id="+id, String.class);

以下是一些常用调用方法:

1. 带实体入参,使用post请求,layui表格返回值,直接返回json格式即可,无需解析return restTemplate.postForObject("http://THPWPSERVICE/supplies/getItems", form, String.class);  2. 参数少,使用get请求	,返回json实体,再转成实体类,再返回页面String json = restTemplate.getForObject("http://THPWPSERVICE/supplies/getByItemCode?itemCode="+itemCode, String.class);s = JSON.parseObject(json, new TypeReference<SuppliesItem>() {});3. 转list	ids = JSON.parseObject(json, new TypeReference<List>() { });4 .  BookDto bookDto = restTemplate.getForObject(url, BookDto.class);   -----待尝试5. ResponseEntity<BookDto> responseEntity = restTemplate.getForEntity(url, BookDto.class); -----待尝试//状态码System.out.println(responseEntity.getStatusCode());//获取头System.out.println("头:" + responseEntity.getHeaders());//获取bodyBookDto bookDto = responseEntity.getBody();6.  ResponseEntity<List<BookDto>> responseEntity =   -----待尝试restTemplate.exchange(url,HttpMethod.GET,null,new ParameterizedTypeReference<List<BookDto>>() {});List<BookDto> bookDtoList = responseEntity.getBody();7. BookDto result = restTemplate.postForObject(url, 参数, BookDto.class);

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

相关文章:

  • 银川做网站最好的公司有哪些西安游玩攻略
  • 某品牌休闲零食网站建设规划书网站开发目标开题报告
  • wordpress多站点命名网站开发与维护项目招标
  • 怎么做网站推广怎么样网站推广seo设置
  • 淄博乐达网站建设内部优惠券网站怎么做
  • 友汇网站建设管理后台东莞网站开发前三强
  • 网站更换建设网站书籍
  • 程序员网站建设北京网站设计定制开发建设公司
  • 贵州省建设网官方网站办公管理系统有哪些
  • 贵阳网站建设贵阳做模具行业的网站
  • python 快速做网站目前最主流的网页制作软件是
  • 网站里的友情链接网站开发的技术路线是什么
  • wordpress 多站点 插件石景山网站制作
  • 做外贸没有网站需要什么条件做worksheet的网站
  • 做浏览单的网站有哪些seo优化及推广如何运营
  • 长春哪有做网站公司做家常便饭网站
  • 石大网页设计与网站建设客观题画册设计及制作
  • 南宁手机建站模板做网站可以挣钱吗
  • 网站制作企业一流的中小型网站建设
  • 美丽女性网-大型女性门户网大型程序700m网站程序源码织梦网站开发 海淀
  • 全屏网站模板如何阿里网站建设
  • 网站排名下降的原因深圳地铁公司网站
  • vi设计包含什么网站优化公司电话
  • 无锡网站制作那些公众号设计平台
  • 手机网站开发成appapache怎么配置网站
  • 自己建设一个网站步骤模板网点地址信息获取错误是什么意思
  • 手机网站标准网站备案目的
  • wap视频网站国外搜索引擎入口
  • 株洲网站网络推广怎么做自己制作的网站怎么发布
  • 成都的网站建设开发公司哪家好网站建设策划书色彩设计方案