spring restTemplate 发送post请求携带参数和请求头
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;
}
}
不恋尘世浮华,不写红尘纷扰
标签:
工作中遇到的问题与解决方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2020-03-18 Java之多态