get请求样例:
/**
* 获取token
*/
@PostMapping("/getToken")
public String getToken() {
//从缓存获取
String token= tokenManager.getToken();
//重新拉取
if (ObjectUtils.isEmpty(token)){
//1.获取请求的url
String url = arataUrl.concat("/users/login/");
//声明请求头
HttpHeaders headers=new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
//入参
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("username", "admin");
paramMap.put("password", "admin");
//使用HttpEntity形式包装传递参数
HttpEntity<Map> httpEntity=new HttpEntity<Map>(paramMap,headers);
//2.调用接口
String str = restTemplate.postForObject(url, httpEntity, String.class);
JSONObject jsonObject= JSONObject.parseObject(str);
//3.处理响应报文
if (ObjectUtils.isNotEmpty(jsonObject)){
ArataToken arataToken= JSON.parseObject(JSON.toJSONString(jsonObject), ArataToken.class);
String temp= arataToken.getToken();
if (ObjectUtils.isNotEmpty(temp)){
tokenManager.setToken(temp);
token= temp;
}
}
}
return token;
}
post请求样例:
/**
* 按id获取详情
* @param id
* @return string
*/
@PostMapping("/did/getDidByHolderDid")
public String getById(@RequestParam String id) {
String token= this.getToken();
if (ObjectUtils.isEmpty(token)){
log.info("获取token失败");
return null;
}
//声明请求头
HttpHeaders headers=new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("Authorization", "Bearer "+ token); //OAuth2.0验证
Map<String, Object> paramMap = new HashMap<>();
HttpEntity<Map> httpEntity=new HttpEntity<>(paramMap,headers);
//1.获取请求的url
String url = arataUrl.concat("/users/nfts/?holder_did=").concat(holder_did);
//响应结果
ResponseEntity<String> result = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class);
String ret= result.getBody();
return ret;
}
