http傳送工具類 springboot裡呼叫別人的api
阿新 • • 發佈:2021-06-16
`@Slf4j
@Component
public class HttpClientSender {
@Autowired @Qualifier("normalRestTemplate") private RestTemplate restTemplate; public String sendHttpPost(String host, String method, String sendData) throws IotException { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); headers.setContentType(type); headers.add("Accept", MediaType.APPLICATION_JSON.toString()); HttpEntity<String> formEntity = new HttpEntity<>(sendData, headers); String url = host + "/" + method; log.debug("HttpClientSenderurl.sendHttpPost url:{}, request: {}", url, sendData); String response; try { response = restTemplate.postForObject(url, formEntity, String.class); } catch (Exception e) { log.error("HttpClientSender.sendHttpPost failed call {}, {}", url, e); throw new IotException(ResponseCode.INTERFACE_OUTTER_INVOKE_ERROR); } log.debug("HttpClientSender.sendHttpPost succeed call {}, result: {}", url, response); return response; } public String sendHttpGet(String host, String method, String urlParams) throws IotException { String url = host + "/" + method + urlParams; log.debug("HttpClientSender.sendHttpGet url:{}", url); String response; try { response = restTemplate.getForObject(url, String.class); } catch (Exception e) { log.error("HttpClientSender.sendHttpGet failed call {}, {}", url, e); throw new IotException(ResponseCode.INTERFACE_OUTTER_INVOKE_ERROR); } log.debug("HttpClientSender.sendHttpGet succeed call {}, result: {}", url, response); return response; }
}`