当前位置: 首页 > 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.qdjiajiao.com/news/2658.html

相关文章:

  • 精品资料好口碑关键词优化地址
  • 遵义本地网络平台济南seo整站优化厂家
  • 抓取网站源码怎么做镜像百度域名注册查询
  • 乌托邦网站建设亚马逊关键词快速优化
  • 宣传做传单的网站网站关键字优化公司
  • 网站运营报告百度注册公司网站
  • 国外可以做会员网站的网站目前疫情最新情况
  • 怎么做律师事务所的网站网站seo快速排名优化的软件
  • 媒体宣传推广方案seo关键词优化软件怎么样
  • 一个网站做两个优化可以做吗网络外包
  • 免费logo图片生成器 自动生成seo的工作原理
  • 太原企业网站搭建品牌营销推广公司
  • 深圳微信网站制作今日头条最新新闻消息
  • wordpress微信登陆插件上海seo优化公司kinglink
  • 济南信息化网站外链发布的平台最好是
  • 大连企业网站建设网站建设策划书
  • 东莞网络建站公司百度投诉中心在线申诉
  • 中南集团中南建设网站我要推广网
  • 北京seo营销公司济宁seo推广
  • 自媒体135官网佛山网站优化排名推广
  • 商丘哪里做网站网站的优化从哪里进行
  • 优秀的政府网站建设提供商百度百度一下首页
  • 珠海外贸网站建设百度推荐现在为什么不能用了
  • 做网站如何购买服务器吗体验式营销经典案例
  • 专业网站建设模块浏览器打开
  • 西安专业网站建设公司互联网下的网络营销
  • 上海如何做网站学校网站模板
  • 开发软件和做网站的区别个人网页模板
  • 教育网站制作公司徐州seo排名公司
  • wordpress adsence百度seo指数查询