package com.fgkj.http;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.*;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.client.RestTemplate;
|
|
/**
|
* @author riemann
|
*/
|
@Service
|
public class RestTemplateToInterface {
|
|
@Autowired
|
private RestTemplate restTemplate;
|
|
/* *//**
|
* 以get方式请求第三方http接口 getForEntity
|
* @param url
|
* @return
|
*//*
|
public User doGetWith1(String url){
|
ResponseEntity<User> responseEntity = restTemplate.getForEntity(url, User.class);
|
User user = responseEntity.getBody();
|
return user;
|
}
|
|
*//**
|
* 以get方式请求第三方http接口 getForObject
|
* 返回值返回的是响应体,省去了我们再去getBody()
|
* @param url
|
* @return
|
*//*
|
public User doGetWith2(String url){
|
User user = restTemplate.getForObject(url, User.class);
|
return user;
|
}
|
|
*//**
|
* 以post方式请求第三方http接口 postForEntity
|
* @param url
|
* @return
|
*//*
|
public String doPostWith1(String url){
|
User user = new User("小白", 20);
|
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, user, String.class);
|
String body = responseEntity.getBody();
|
return body;
|
}
|
|
*//**
|
* 以post方式请求第三方http接口 postForEntity
|
* @param url
|
* @return
|
*//*
|
public String doPostWith2(String url){
|
User user = new User("小白", 20);
|
String body = restTemplate.postForObject(url, user, String.class);
|
return body;
|
}
|
|
*//**
|
* exchange
|
* @return
|
*//*
|
public String doExchange(String url, Integer age, String name){
|
//header参数
|
HttpHeaders headers = new HttpHeaders();
|
String token = "asdfaf2322";
|
headers.add("authorization", token);
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
|
//放入body中的json参数
|
JSONObject obj = new JSONObject();
|
obj.put("age", age);
|
obj.put("name", name);
|
|
//组装
|
HttpEntity<JSONObject> request = new HttpEntity<>(obj, headers);
|
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
|
String body = responseEntity.getBody();
|
return body;
|
}
|
*/
|
|
public static void main(String[] args) {
|
RestTemplateToInterface face = new RestTemplateToInterface();
|
face.restTemplate = new RestTemplate();
|
|
//header参数
|
HttpHeaders headers = new HttpHeaders();
|
//String token = "asdfaf2322";
|
//headers.add("authorization", token);
|
//headers.setContentType(MediaType.APPLICATION_JSON);
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
|
//放入body中的json参数
|
JSONObject obj = new JSONObject();
|
// obj.put("pageNum", 1);
|
// obj.put("pageSize", 20);
|
// obj.put("interfaceNumber", "JkE5qcWEU19Pht5CMJ033CLld");
|
|
// //组装
|
// HttpEntity<JSONObject> request = new HttpEntity<>(obj, headers);
|
// Object sss = face.restTemplate.getForObject("http://192.168.10.79:8919/fg/interface/getBattInf?pageNum={pageNum}&pageSize={pageSize}&interfaceNumber={interfaceNumber}", String.class,obj);
|
|
|
ResponseEntity<String> responseEntity = face.restTemplate.postForEntity("http://192.168.10.139:8080/webService/getTestParameter", null, String.class);
|
String body = responseEntity.getBody();
|
|
System.out.println(body);
|
|
}
|
}
|