package com.rjgf.sso.other.utils;
import com.rjgf.common.core.constant.SecurityConstants;
import com.rjgf.common.core.exception.base.BaseException;
import com.rjgf.common.core.web.domain.AjaxResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import static com.rjgf.common.core.constant.SecurityConstants.INNER;
/**
* @author
* @date 2022/10/26 16:49
* @remark
*/
@Component
public class RestInnerServerUtils {
private static final Logger log = LoggerFactory.getLogger(RestInnerServerUtils.class);
@Autowired
private RestTemplate restTemplate;
/**
* 基础服务网关
**/
@Value("${common.server.gateway.path}")
private String commonServerGateway;
/**
* 内部访问key
**/
@Value("${common.server.inner.key}")
private String commonServerKey;
/**
* 内部访问密钥
**/
@Value("${common.server.inner.value}")
private String commonServerValue;
public AjaxResult getRestTemplateLoadInnerAuth(String url) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add(SecurityConstants.FROM_SOURCE, INNER);
headers.add(commonServerKey, commonServerValue);
HttpEntity<MultiValueMap> httpEntity = new HttpEntity<>(null, headers);
String result_url=commonServerGateway + url;
ResponseEntity<AjaxResult> responseEntity = restTemplate.exchange(
result_url,
HttpMethod.GET,
httpEntity,
AjaxResult.class);
if (!responseEntity.getStatusCode().is2xxSuccessful()) {
log.info("验证服务器异常");
throw new BaseException("获取token失败");
}
return responseEntity.getBody();
}
}
SpringBoot管理工具类
最新推荐文章于 2023-08-03 16:18:08 发布