package com.dy.rtuMw.web.webRequest;
|
|
import com.dy.common.mw.protocol.Command;
|
import com.dy.rtuMw.web.comResult.WebResponseVo;
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.*;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.util.UriComponentsBuilder;
|
|
import java.nio.charset.StandardCharsets;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/11/11 16:29
|
* @Description
|
*/
|
@Component()
|
public class WebRequestDeal {
|
|
private static final Logger log = LogManager.getLogger(WebRequestDeal.class.getName());
|
|
private RestTemplate restTemplate;
|
|
@Autowired
|
public void setRestTemplate(RestTemplate restTemplate){
|
this.restTemplate = restTemplate ;
|
}
|
|
public void deal(String webUrl, Object obj) {
|
if (webUrl != null
|
&& !webUrl.trim().equals("")
|
&& !webUrl.trim().equals(Command.ignoreRtuResultSendWebUrl)) {
|
String url = UriComponentsBuilder.fromUriString(webUrl)
|
.build()
|
.toUriString();
|
restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
HttpHeaders headers = new HttpHeaders();
|
headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8"));
|
HttpEntity<?> httpEntity = new HttpEntity<>(obj, headers);
|
ResponseEntity<WebResponseVo> response = null;
|
try {
|
// 通过Post方式调用接口
|
response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, WebResponseVo.class);
|
} catch (Exception e) {
|
log.error("web访问请求发生异常", e);
|
}
|
//assert response != null;
|
} else {
|
log.error("严重错误,web访问的URL为空");
|
}
|
}
|
}
|