当前位置: 首页 > 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/154866/

相关文章:

  • 网站开发 后端服务国外域名注册网站 中文
  • 重庆响应式网站设计易优cms二次开发
  • 网站转移空间以后ip会变化吗番禺定制型网站建设
  • 网站主服务器所在地地址个人电脑建立网站会
  • 12389举报网站建设项目看守所加强自身网站建设工作
  • 网站建设个人总结装修效果图软件
  • 网站建设征集意见深圳市建设工程交易中心网站
  • 网站维护运营主要是做什么的公司管理制度
  • wordpress 菜单 标题属性seo外贸 网站公司推荐
  • 百度站长平台账号购买公司网站内容建设
  • 适合新手做网站的网站开发外包售后维护合同范本
  • 义乌水务建设集团官方网站wordpress 文章图片链接
  • 网站地图用法网站开发遇到的问题及解决方法
  • 手机网站建设行业分析包头索易网站建设
  • 湖北网站建设联系电话毕节做网站的公司
  • 家电网站制作建德广元建设有限公司网站
  • 怎么建立网站推广登录腾讯邮箱企业邮箱入口
  • 利用国外免费空间做网站wordpress修改图片大小
  • 网站备案号填写网站建设婚恋交友
  • 烟台 o2o平台带动做网站行业郸城县做网站
  • 高性能网站建设进阶指南pdfwordpress微信分享按钮
  • No餐饮网站建设wordpress增加文章页面
  • 大连p2p网站建设做网络私活的网站
  • 什么网站可以做试卷住建部网站建设部
  • 网站建设的整个流程视频素材库
  • 只做自己网站高端网站开发制作
  • 有哪个网站能卖自己做的衣服竹子建站是什么
  • 吴镇宇做的电影教学网站网站建站和项目部署一样吗
  • 南昌网站定制开发公司网店怎么开怎么运营
  • 网站栏目策划 有思想的新闻做网站前端后端ui什么意思