import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
@Service
@Slf4j
public class TestServiceImpl implements TestService {
@Autowired
private RestTemplate restTemplate;
private final String URL = "http://15.15.82.127:8124/api/test/getData";
private final String USER_NAME = "test";
private final String PASS_WORD = "test123";
@Override
public String getData(){
//1、構建body參數
JSONObject jsonObject = new JSONObject();
jsonObject.put("UserName",USER_NAME);
jsonObject.put("Password",PASS_WORD);
//2、添加請求頭
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type","application/json");
//3、組裝請求頭和參數
HttpEntity<String> formEntity = new HttpEntity<String>(JSON.toJSONString(jsonObject), headers);
//4、發起post請求
ResponseEntity<String> stringResponseEntity = null;
try {
stringResponseEntity = restTemplate.postForEntity(URL, formEntity, String.class);
log.info("ResponseEntity----"+stringResponseEntity);
} catch (RestClientException e) {
e.printStackTrace();
}
//5、獲取http狀態碼
int statusCodeValue = stringResponseEntity.getStatusCodeValue();
log.info("httpCode-----"+statusCodeValue);
//6、獲取返回體
String body = stringResponseEntity.getBody();
log.info("body-----"+body);
//7、映射實體類
Wrapper wrapper = JSONObject.parseObject(body, Wrapper.class);
String data = wrapper.getData();
log.info("data-----"+data);
return data;
}
}