RestTemplate的使用
RestTemplate,用于调用远程服务
导入依赖:
RestTemplate是spring的一个rest客户端,在spring-web这个包下,spring boot的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在controller里面注入:
@Autowired
private RestTemplate restTemplate;
具体代码实现demo:
@PostMapping("sdqj/djk")
public ResponseResult confirm_alarm(@RequestBody confirm_alrmVO vo) {
Map<String, Object> param = new HashMap();
//使用String.join方法截取传过来的字符串数组,用“,”分隔
String ids = String.join(",", vo.getObj_ids());
System.out.println(ids);
param.put("obj_ids", ids);
param.put("scfl", vo.getScfl().toString());
//设置请求头类型
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
//传参数,请求体和请求头放在requestEntity
HttpEntity<Map> requestEntity = new HttpEntity<>(param,httpHeaders);
//post请求,调用远程
JSONObject jsonObject = restTemplate.postForObject(
"http://localhost:31230/sdqj/online_monitor/confirm_alarm", requestEntity, JSONObject.class);
return ResponseResult.success();
}
引入的包:
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import com.alibaba.fastjson.JSONObject;
import com.whayer.sdqj.monitorMom.domain.ResponseResult;
import com.whayer.sdqj.monitorMom.vo.confirm_alrmVO;
还没有评论,来说两句吧...