post方式的带token请求
HttpHeaders headers = new HttpHeaders();
headers.add("token","1234");
ResponseEntity<String> response = restTemplate.postForEntity(Url,new HttpEntity<Map>(data,headers),String.class);
取值:JSONObject jsonObject = JSONUtil.parseObj(response.getBody());
get方式的带token请求
HttpHeaders headers = new HttpHeaders();
headers.add("token","1234");
ResponseEntity<String> response = restTemplate.exchange(Url,HttpMethod.GET,new HttpEntity<Map>(data,headers),String.class);
取值:JSONObject jsonObject = JSONUtil.parseObj(response.getBody());
常用的请求方法
restTemplate.getForObject(url,响应类型,参数);//参数可直接拼入url
restTemplate.getForEntity(url,响应类型,参数);//参数可直接拼入url
restTemplate.postForObject(yhTokenUrl,参数,响应类型);//参数可以是实体类或集合等,响应类型一般为String,然后使用JSON工具进行格式转换
自动注入restTemplate失败,如何解决
1、创建一个commonbean文件,将一下代码复制进入
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class commonbean {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
2、在需要发起http请求的文件中自动注入即可
@Autowired
RestTemplate restTemplate;
/** * 判断供应商可被查看次数是否足够 * * @return * 结果 * 1 :供应商可被查看 * 0 ;供应商每年可被查看次数已达到上限; * */ @PostMapping("getProviderViewStatus") public JSONObject getProviderViewStatus(@RequestBody ProviderSearchForm providerSearchForm){ HttpHeaders headers = new HttpHeaders(); if (StringUtils.isNotEmpty(providerSearchForm.getToken())){ headers.add("token",providerSearchForm.getToken()); } String url =""; if (providerSearchForm.getSource() == 1){ url = ksDataUrl+"/collect/provider/getProviderViewStatus/"; } if (providerSearchForm.getSource() == 2){ url = zzDataUrl+"/collect/provider/getProviderViewStatus/"; } if (providerSearchForm.getSource() == 3){ url = kkDataUrl+"/collect/provider/getProviderViewStatus/"; } ResponseEntity<String> response = restTemplate.exchange(url+providerSearchForm.getId(), HttpMethod.GET,new HttpEntity<Map>(null,headers),String.class); JSONObject jsonObject = JSONObject.parseObject(response.getBody()); return jsonObject; }
/**@Description: 取消关注、收藏接口 * @param focusOnCollection * @author jpt * @date 2023/2/22 15:57 */ @PostMapping("focus/collection/cancel") public JSONObject focusEnterpriseCancel(@Validated @RequestBody FocusOnCollection focusOnCollection){ HttpHeaders headers = new HttpHeaders(); if (StringUtils.isNotEmpty(focusOnCollection.getToken())){ headers.add("token",focusOnCollection.getToken()); } Map map = JSONObject.parseObject(JSONObject.toJSONString(focusOnCollection), Map.class); String url =""; if (focusOnCollection.getSource() == 1){ url = ksDataUrl+"/collect/focusOnCollection/focus/collection/cancel"; } if (focusOnCollection.getSource() == 2){ url = zzDataUrl+"/collect/focusOnCollection/focus/collection/cancel"; } if (focusOnCollection.getSource() == 3){ url = kkDataUrl+"/collect/focusOnCollection/focus/collection/cancel"; } ResponseEntity<String> response = restTemplate.postForEntity(url,new HttpEntity<Map>(map,headers),String.class); JSONObject jsonObject = JSONObject.parseObject(response.getBody()); return jsonObject; }