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

威宁做网站软件开发工作稳定吗

威宁做网站,软件开发工作稳定吗,为什么做网站ppt,杭州建设局网站首页 柳★ 定制RestTemplate 如要对RestTemplate进行自定义设置,Spring Boot也提供了两种主要方式:▲ 局部式:在调用RestTemplateBuilder构建RestTemplate之前,先调用RestTemplateBuilder的方法对其定制,通过这种方式设置的R…

★ 定制RestTemplate

如要对RestTemplate进行自定义设置,Spring Boot也提供了两种主要方式:▲ 局部式:在调用RestTemplateBuilder构建RestTemplate之前,先调用RestTemplateBuilder的方法对其定制,通过这种方式设置的RestTemplateBuilder仅对它构建的RestTemplate起作用。▲ 全局式:使用RestTemplateCustomizer进行定制,所有实现RestTemplateCustomizer接口的Bean会被自动应用到自动配置的RestTemplateBuilder中,这种定制方式对整个应用范围的RestTemplate都起作用。

之前这个就属于局部式定制:
在这里插入图片描述

★ 定制RestTemplate主要在如下两方面进行定制:

▲ 添加或替换拦截器:既可通过 RestTemplateBuilder 的 additionalInterceptors() 或 interceptors() 方法分别添加或替换拦截器。也可直接调用RestTemplate的方法来添加或替换。▲ 添加或替换消息转换器:既可通过 RestTemplateBuilder 的 additionalMessageConverters() 或   messageConverters() 方法分别添加或替换拦截器。也可直接调用RestTemplate的方法来添加或替换。

全局式定制RestTemplate的代码演示

延用–SpringBoot 使用RestTemplate 整合第三方 RESTful 服务–的代码

全局式定制RestTemplate,创建一个 ClientCustomizer 类,实现 RestTemplateCustomizer 接口
在这里插入图片描述
在这里插入图片描述

测试:
可以看出 定制的 RestTemplate 的拦截器生效,开始执行。
在这里插入图片描述

package cn.ljh.app.controller;import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.client.RestTemplateCustomizer;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.client.RestTemplate;import java.util.List;//定制 RestTemplate@Slf4j
@Configuration
public class ClientCustomizer implements RestTemplateCustomizer
{@Overridepublic void customize(RestTemplate restTemplate){//在此处即可对容器中自动构建的所有 RestTemplate 进行全局配置//添加HttpMessageConverters消息转换器,先get获取到所有消息转换,然后再用 add 进行添加FastJsonHttpMessageConverter messageConverter = new FastJsonHttpMessageConverter();//该设置说明FastJsonHttpMessageConverter只处理Json格式的数据messageConverter.setSupportedMediaTypes(List.of(MediaType.APPLICATION_JSON));//这样就添加了自定义的定制的消息转换器-----对象和json之间的转换restTemplate.getMessageConverters().add(messageConverter);//替换原有的拦截器//restTemplate.setInterceptors(List.of());//在原有的拦截器的基础上再添加自己的拦截器//此处可以用 Lambda 表达式来创建拦截器restTemplate.getInterceptors().add((request, body, execution) ->{//在这里面自定义拦截器规则log.debug("RestTemplate 的拦截器开始执行");String url = request.getURI().getPath();//设置token半小时内有效int time = (int) (System.currentTimeMillis() / 1000 + 1800);//获取请求方法名String methodName = request.getMethod().name();//获取请求体数据String strBody = new String(body);//此处调用服务器的方法来生成token,生成的token需要哪些参数,取决于服务器String token = generateToken(url, time, methodName, strBody);//设置一个额外的请求头(常常需要再授权时要设置额外的请求头)//具体要添加什么请求头,取决于业务的需要。request.getHeaders().add("X-cn-ljh", token);//继续向下执行return execution.execute(request, body);});}//模拟生成tokenprivate String generateToken(String url, int time, String method, String strBody){return "mycustomtoken";}
}

pom.xml
需要这个fastjson 依赖,用于添加HttpMessageConverters消息转换器
在这里插入图片描述

在这里插入图片描述

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

相关文章:

  • 网站群集约化建设国内企业手机网站建设
  • 青岛做网站皆赴青岛博采wordpress widgets_init
  • 汕头建站网站模板北京网站建设培训班
  • 找南昌网站开发公司wordpress user meta
  • 黄冈网站推广下载网络公司最好的是哪个
  • dede织梦做的网站 栏目页有切换js 怎么循环子栏目 调子栏目网站定制网页设计
  • 新网站制作怎么样网络教育
  • 东莞企石做网站wordpress 门户好的
  • 中文网站域名合肥全网优化
  • 崇明手机网站建设介绍网站建设
  • 建设ca网站电商类网站咋做
  • 海外网站seo有了域名后怎么建设网站
  • 海口建站价格做苗木网站哪家好
  • ai特效字体网站wordpress能做多大的站
  • 中英文网站怎么做江门整站优化
  • 橙色 网站微淘客网站建设
  • 网站建设宁波做网站还能赚钱
  • 如何做专业的模板下载网站网络整合营销4i原则
  • 做全国性的app网站推广多少263企业邮箱报价
  • 上海网站建设哪家企业中文网站站内优化怎么做
  • 成品ppt网站国外北京建设安全网络平台87
  • 设计公司网站时什么是重要的苏州外发加工网
  • 内网网站如何建设方案网站建设要学多久
  • 做网站广告联盟赚钱discuz可以做商城网站吗
  • 商品网站开发肥东建设局网站
  • wordpress免费企业站主题建设银行境外购物网站
  • 奇米网怎么做网站seo网站推广怎么收费
  • 网站设计用处wordpress自助友链
  • 上线了做的网站可以登陆最近发生的热点新闻
  • 学校网站开发与实现的解决思路广东省中山市网站