基于SpringFarmwark的restTemplate实现跨系统调用接口

在这里插入代码片## 基于SpringFarmwark的restTemplate实现跨系统调用接口

1、Get方式

1.1、 URL 编码传输(application/x-www-form-urlencoded)
复制代码
	具体来说,"application/x-www-form-urlencoded" 表示表单数据是通过 URL 编码的方式传输的。每个字段的键值对通过 & 符号连接,键和值之间用 = 符号分隔,并且所有的字符都会进行 URL 编码。

?comp={comp}&test={test}
1.1.1、响应方(参数以?拼接的方式接参数)
java 复制代码
@GetMapping(value = "/sendSubjectCategoryListToMesGet",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    public ResponseEntity<Result<List<EamDeviceLedgerApiDto>>> sendSubjectCategoryListToMesGet
    (@RequestParam String comp,                                                                                    @RequestParam String test,                                                                                    @RequestHeader(value = "Authorization") String authorization,                                                @RequestHeader(value = "Content-Type") String contentType){
    	//验证请求参数是否获取到
        System.out.println(test);
        ArrayList<EamDeviceLedgerApiDto> eamDeviceLedgerApiDtos = new ArrayList<>();
        if (!(StringUtils.hasText(comp)) ||  !SubjectConstant.COMP.equals(comp)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","comp参数错误");
            return new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST);
        }

        if (!SubjectConstant.AUTHORIZATION.equals(authorization)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.UNAUTHORIZED);
        }

        if (!contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.REQUEST_ENTITY_TOO_LARGE);
        }
		//对应Service、Impl、Mapper自建
        List<EamDeviceLedger> list =  eamDeviceLedgerService.search();
        list.forEach(l->{
            EamDeviceLedgerApiDto eamDeviceLedgerApiDto = new EamDeviceLedgerApiDto();
            eamDeviceLedgerApiDto.setDEVICENAME(l.getDeviceName());
            eamDeviceLedgerApiDto.setDEVICECODE(l.getDeviceCode());
            eamDeviceLedgerApiDto.setSPECIFICATIONS(l.getSpecifications());
            eamDeviceLedgerApiDto.setMANUFACTURER(l.getManufacturer());
            eamDeviceLedgerApiDto.setPOSITIONNAME(l.getPositionName());
            eamDeviceLedgerApiDtos.add(eamDeviceLedgerApiDto);

        });
        Result<List<EamDeviceLedgerApiDto>> listResult = new Result<>();
        listResult.setData(eamDeviceLedgerApiDtos);
        HttpHeaders headers = new HttpHeaders();
        headers.set("code","200");
        return new ResponseEntity<>(listResult, headers, HttpStatus.ACCEPTED.value());
    }

1.1.1.1、验证请求头信息,响应请求体信息(请求双方的标识认证),获取请求参数

java 复制代码
//获取请求头对应信息通过注解 @RequestHeader
@RequestHeader(value = "Authorization")
//获取响应体信息基类
ResponseEntity<> 
//设置请求头信息
HttpHeaders headers = new HttpHeaders();
////响应构造器,参数分别表示响应体,响应头,响应状态码
ResponseEntity entity= new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST)
//获取请求参数
@RequestParam String comp,                                                                                   @RequestParam String test,   
1.1.2、请求方(参数以?拼接的方式接参数)
java 复制代码
//对应Controller、Service、Mapper自建
public Result getInfoBySubjectGet() {
        String comp = "666";
        String test = "test";
        String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesGet?comp={comp}&test={test}";
        Map<String, Object> param = new HashMap<>();
        param.put("comp",comp);
        param.put("test",test);
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        headers.set("Authorization","xxb");
        HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.GET, objectHttpEntity, 			JSONObject.class,param);
        HttpHeaders headerResponse = entity.getHeaders();
        HttpStatus statusCode = entity.getStatusCode();
        JSONObject body = entity.getBody();
        String data1 = body.getString("data");
        Object data = body.get("data");
        String s = JSONObject.toJSONString(data);
        List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
        System.out.println("========================响应头:"+headerResponse);
        System.out.println("========================响应码:"+statusCode);
        System.out.println("========================响应头体:"+eamDeviceVos);
        return Result.ok();
    }

1.1.2.1、设置请求头、请求传输方式、请求参数、响应体方式接收方式

复制代码
//设置请求体,请求传输方式
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.set("Authorization","xxb");
HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);

//设置请求参数
 Map<String, Object> param = new HashMap<>();
 param.put("comp",comp);
 param.put("test",test);

//获取响应内容:设置请求地址、请求方式,请求头,响应体映射、传参
 ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.GET, objectHttpEntity, 			JSONObject.class,param)
 
 //响应体类型处理(响应状态码、响应体、响应头等信息)
  HttpHeaders headerResponse = entity.getHeaders();
  HttpStatus statusCode = entity.getStatusCode();
  JSONObject body = entity.getBody();
  String data1 = body.getString("data");
  Object data = body.get("data");
  String s = JSONObject.toJSONString(data);
  List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
  System.out.println("========================响应头:"+headerResponse);
  System.out.println("========================响应码:"+statusCode);
  System.out.println("========================响应头体:"+eamDeviceVos);
1.2.1、响应方(参数以/路径方式接参数)
java 复制代码
@GetMapping(value = "/sendSubjectCategoryListToMesGet/{id}",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    public ResponseEntity<Result<List<EamDeviceLedgerApiDto>>> sendSubjectCategoryListToMesGet
    (@RequestHeader(value = "Authorization") String authorization,                                                @RequestHeader(value = "Content-Type") String contentType){
    	//验证请求参数是否获取到
        System.out.println(id);
        ArrayList<EamDeviceLedgerApiDto> eamDeviceLedgerApiDtos = new ArrayList<>();
        if (!SubjectConstant.AUTHORIZATION.equals(authorization)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.UNAUTHORIZED);
        }

        if (!contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.REQUEST_ENTITY_TOO_LARGE);
        }
		//对应Service、Impl、Mapper自建
        List<EamDeviceLedger> list =  eamDeviceLedgerService.search();
        list.forEach(l->{
            EamDeviceLedgerApiDto eamDeviceLedgerApiDto = new EamDeviceLedgerApiDto();
            eamDeviceLedgerApiDto.setDEVICENAME(l.getDeviceName());
            eamDeviceLedgerApiDto.setDEVICECODE(l.getDeviceCode());
            eamDeviceLedgerApiDto.setSPECIFICATIONS(l.getSpecifications());
            eamDeviceLedgerApiDto.setMANUFACTURER(l.getManufacturer());
            eamDeviceLedgerApiDto.setPOSITIONNAME(l.getPositionName());
            eamDeviceLedgerApiDtos.add(eamDeviceLedgerApiDto);

        });
        Result<List<EamDeviceLedgerApiDto>> listResult = new Result<>();
        listResult.setData(eamDeviceLedgerApiDtos);
        HttpHeaders headers = new HttpHeaders();
        headers.set("code","200");
        return new ResponseEntity<>(listResult, headers, HttpStatus.ACCEPTED.value());
    }

1.2.1.1、验证请求头信息,响应请求体信息(请求双方的标识认证),获取请求参数

复制代码
//获取请求头对应信息通过注解 @RequestHeader
@RequestHeader(value = "Authorization")
//获取响应体信息基类
ResponseEntity<> 
//设置请求头信息
HttpHeaders headers = new HttpHeaders();
////响应构造器,参数分别表示响应体,响应头,响应状态码
ResponseEntity entity= new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST)
//获取请求参数
/sendSubjectCategoryListToMesGet/{id}
1.2.2、请求方(参数以/路径方式接参数)
复制代码
//对应Controller、Service、Mapper自建
public Result getInfoBySubjectGet() {
        String id = "666";
        String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesGet/{id}";
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        headers.set("Authorization","xxb");
        HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.GET, objectHttpEntity, 			JSONObject.class);
        HttpHeaders headerResponse = entity.getHeaders();
        HttpStatus statusCode = entity.getStatusCode();
        JSONObject body = entity.getBody();
        String data1 = body.getString("data");
        Object data = body.get("data");
        String s = JSONObject.toJSONString(data);
        List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
        System.out.println("========================响应头:"+headerResponse);
        System.out.println("========================响应码:"+statusCode);
        System.out.println("========================响应头体:"+eamDeviceVos);
        return Result.ok();
    }

1.2.2.1、设置请求头、请求传输方式、请求参数、响应体方式接收方式

复制代码
//设置请求体,请求传输方式
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.set("Authorization","xxb");
HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);

//设置请求参数
sendSubjectCategoryListToMesGet/{id}

//获取响应内容:设置请求地址、请求方式,请求头,响应体映射、传参
 ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.GET, objectHttpEntity, 			JSONObject.class)
 
 //响应体类型处理(响应状态码、响应体、响应头等信息)
  HttpHeaders headerResponse = entity.getHeaders();
  HttpStatus statusCode = entity.getStatusCode();
  JSONObject body = entity.getBody();
  String data1 = body.getString("data");
  Object data = body.get("data");
  String s = JSONObject.toJSONString(data);
  List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
  System.out.println("========================响应头:"+headerResponse);
  System.out.println("========================响应码:"+statusCode);
  System.out.println("========================响应头体:"+eamDeviceVos);

2、Post方式

2.1、URL 编码传输(application/x-www-form-urlencoded)
2.1.1、响应方(参数以?拼接的方式接参数)
java 复制代码
@PostMapping(value = "/sendSubjectCategoryListToMesPost",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    public ResponseEntity<Result<List<EamDeviceLedgerApiDto>>> sendSubjectCategoryListToMesGet
    (@RequestParam String comp,                                                                                    @RequestParam String test,                                                                                    @RequestHeader(value = "Authorization") String authorization,                                                @RequestHeader(value = "Content-Type") String contentType){
    	//验证请求参数是否获取到
        System.out.println(test);
        ArrayList<EamDeviceLedgerApiDto> eamDeviceLedgerApiDtos = new ArrayList<>();
        if (!(StringUtils.hasText(comp)) ||  !SubjectConstant.COMP.equals(comp)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","comp参数错误");
            return new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST);
        }

        if (!SubjectConstant.AUTHORIZATION.equals(authorization)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.UNAUTHORIZED);
        }

        if (!contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.REQUEST_ENTITY_TOO_LARGE);
        }
		//对应Service、Impl、Mapper自建
        List<EamDeviceLedger> list =  eamDeviceLedgerService.search();
        list.forEach(l->{
            EamDeviceLedgerApiDto eamDeviceLedgerApiDto = new EamDeviceLedgerApiDto();
            eamDeviceLedgerApiDto.setDEVICENAME(l.getDeviceName());
            eamDeviceLedgerApiDto.setDEVICECODE(l.getDeviceCode());
            eamDeviceLedgerApiDto.setSPECIFICATIONS(l.getSpecifications());
            eamDeviceLedgerApiDto.setMANUFACTURER(l.getManufacturer());
            eamDeviceLedgerApiDto.setPOSITIONNAME(l.getPositionName());
            eamDeviceLedgerApiDtos.add(eamDeviceLedgerApiDto);

        });
        Result<List<EamDeviceLedgerApiDto>> listResult = new Result<>();
        listResult.setData(eamDeviceLedgerApiDtos);
        HttpHeaders headers = new HttpHeaders();
        headers.set("code","200");
        return new ResponseEntity<>(listResult, headers, HttpStatus.ACCEPTED.value());
    }

2.1.1.1、验证请求头信息,响应请求体信息(请求双方的标识认证),获取请求参数

复制代码
//获取请求头对应信息通过注解 @RequestHeader
@RequestHeader(value = "Authorization")
//获取响应体信息基类
ResponseEntity<> 
//设置请求头信息
HttpHeaders headers = new HttpHeaders();
////响应构造器,参数分别表示响应体,响应头,响应状态码
ResponseEntity entity= new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST)
//获取请求参数
@RequestParam String comp,                                                                                   @RequestParam String test,   
2.1.2、请求方(参数以?拼接的方式接参数)
复制代码
 public Result getInfoBySubject() {
        String comp = "666";
        String test = "test";
        //方式一:
        /* String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesPost";
        MultiValueMap<String, String> params = new LinkedMultiValueMap<>(1);
        params.add("comp",comp);
        params.add("test","test");*/
        //方式二:
        /*String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesPost?comp={comp}&test={test}";
        Map<String, Object> param = new HashMap<>();
        param.put("comp",comp);
        param.put("test",test);*/
        
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        headers.set("Authorization","xxb");
      //方式一:
        /*HttpEntity<MultiValueMap<String, String>> multiValueMapHttpEntity = new HttpEntity<>(params, headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, multiValueMapHttpEntity, JSONObject.class);*/
        //方式二:
        /*HttpEntity<Object> httpEntity = new HttpEntity<>(headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JSONObject.class,param);*/
        HttpHeaders headerResponse = entity.getHeaders();
        HttpStatus statusCode = entity.getStatusCode();
        JSONObject body = entity.getBody();
        String data1 = body.getString("data");
        Object data = body.get("data");
        String s = JSONObject.toJSONString(data);
        List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
        System.out.println("========================响应头:"+headerResponse);
        System.out.println("========================响应码:"+statusCode);
        System.out.println("========================响应头体:"+eamDeviceVos);
        return Result.ok();
    }

//方式三
     	RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("Authorization","xxb");
        String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesPost";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("comp", comp);
        jsonObject.put("test", test);
        HttpEntity<String> stringHttpEntity = new HttpEntity<>(jsonObject.toString(), headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, stringHttpEntity, JSONObject.class);

2.1.2.1、设置请求头、请求传输方式、请求参数、响应体方式接收方式

复制代码
//设置请求体,请求传输方式
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.set("Authorization","xxb");
HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);

//设置请求参数(方式一)
 MultiValueMap<String, String> params = new LinkedMultiValueMap<>(1);
 params.add("comp",comp);
 params.add("test","test");
 //方式二:
 Map<String, Object> param = new HashMap<>();
 param.put("comp",comp);
 param.put("test",test);

//获取响应内容:设置请求地址、请求方式,请求头,响应体映射、传参
        //方式一:
        /*HttpEntity<MultiValueMap<String, String>> multiValueMapHttpEntity = new HttpEntity<>(params, headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, multiValueMapHttpEntity, JSONObject.class);*/
        //方式二:
        /*HttpEntity<Object> httpEntity = new HttpEntity<>(headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JSONObject.class,param);*/
 
 //响应体类型处理(响应状态码、响应体、响应头等信息)
  HttpHeaders headerResponse = entity.getHeaders();
  HttpStatus statusCode = entity.getStatusCode();
  JSONObject body = entity.getBody();
  String data1 = body.getString("data");
  Object data = body.get("data");
  String s = JSONObject.toJSONString(data);
  List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
  System.out.println("========================响应头:"+headerResponse);
  System.out.println("========================响应码:"+statusCode);
  System.out.println("========================响应头体:"+eamDeviceVos);
2.2、JSON传输方式
2.2.1、响应方(参数以json拼接的方式接参数)
java 复制代码
@PostMapping(value = "/sendSubjectCategoryListToMesPost",consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<Result<List<EamDeviceLedgerApiDto>>> sendSubjectCategoryListToMesGet
    (@RequestParam String comp,                                                                                    @RequestParam String test,                                                                                    @RequestHeader(value = "Authorization") String authorization,                                                @RequestHeader(value = "Content-Type") String contentType){
    	//验证请求参数是否获取到
        System.out.println(test);
        ArrayList<EamDeviceLedgerApiDto> eamDeviceLedgerApiDtos = new ArrayList<>();
        if (!(StringUtils.hasText(comp)) ||  !SubjectConstant.COMP.equals(comp)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","comp参数错误");
            return new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST);
        }

        if (!SubjectConstant.AUTHORIZATION.equals(authorization)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.UNAUTHORIZED);
        }

        if (!contentType.startsWith(MediaType.APPLICATION_JSON_VALUE)) {
            HttpHeaders headers = new HttpHeaders();
            headers.set("errorMessage","Invalid Authorization Header");
            return new ResponseEntity(null,headers, HttpStatus.REQUEST_ENTITY_TOO_LARGE);
        }
		//对应Service、Impl、Mapper自建
        List<EamDeviceLedger> list =  eamDeviceLedgerService.search();
        list.forEach(l->{
            EamDeviceLedgerApiDto eamDeviceLedgerApiDto = new EamDeviceLedgerApiDto();
            eamDeviceLedgerApiDto.setDEVICENAME(l.getDeviceName());
            eamDeviceLedgerApiDto.setDEVICECODE(l.getDeviceCode());
            eamDeviceLedgerApiDto.setSPECIFICATIONS(l.getSpecifications());
            eamDeviceLedgerApiDto.setMANUFACTURER(l.getManufacturer());
            eamDeviceLedgerApiDto.setPOSITIONNAME(l.getPositionName());
            eamDeviceLedgerApiDtos.add(eamDeviceLedgerApiDto);

        });
        Result<List<EamDeviceLedgerApiDto>> listResult = new Result<>();
        listResult.setData(eamDeviceLedgerApiDtos);
        HttpHeaders headers = new HttpHeaders();
        headers.set("code","200");
        return new ResponseEntity<>(listResult, headers, HttpStatus.ACCEPTED.value());
    }

2.2.1.1、验证请求头信息,响应请求体信息(请求双方的标识认证),获取请求参数

复制代码
//获取请求头对应信息通过注解 @RequestHeader
@RequestHeader(value = "Authorization")
//获取响应体信息基类
ResponseEntity<> 
//设置请求头信息
HttpHeaders headers = new HttpHeaders();
////响应构造器,参数分别表示响应体,响应头,响应状态码
ResponseEntity entity= new ResponseEntity(null,headers, HttpStatus.BAD_REQUEST)
//获取请求参数
@RequestParam String comp,                                                                                   @RequestParam String test,   
2.2.2、请求方(参数以json的方式接参数)
java 复制代码
 public Result getInfoBySubject() {
        String comp = "666";
        String test = "test";
        String url  = "http://localhost:8181/ledger/sendSubjectCategoryListToMesPost";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("comp", comp);
        jsonObject.put("test", test);
        RestTemplate restTemplate = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
      	headers.setContentType(MediaType.APPLICATION_JSON);
        headers.set("Authorization","xxb");
      	HttpEntity<String> stringHttpEntity = new HttpEntity<>(jsonObject.toString(), headers);
        ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, stringHttpEntity, JSONObject.class);
        HttpHeaders headerResponse = entity.getHeaders();
        HttpStatus statusCode = entity.getStatusCode();
        JSONObject body = entity.getBody();
        String data1 = body.getString("data");
        Object data = body.get("data");
        String s = JSONObject.toJSONString(data);
        List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
        System.out.println("========================响应头:"+headerResponse);
        System.out.println("========================响应码:"+statusCode);
        System.out.println("========================响应头体:"+eamDeviceVos);
        return Result.ok();
    }

2.2.2.1、设置请求头、请求传输方式、请求参数、响应体方式接收方式

复制代码
//设置请求体,请求传输方式
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("Authorization","xxb");
HttpEntity<Object> objectHttpEntity = new HttpEntity<>(headers);

//设置请求参数
 JSONObject jsonObject = new JSONObject();
 jsonObject.put("comp", comp);
 jsonObject.put("test", test);

//获取响应内容:设置请求地址、请求方式,请求头,响应体映射、传参
       ResponseEntity<JSONObject> entity = restTemplate.exchange(url, HttpMethod.POST, stringHttpEntity, JSONObject.class);
 
 //响应体类型处理(响应状态码、响应体、响应头等信息)
  HttpHeaders headerResponse = entity.getHeaders();
  HttpStatus statusCode = entity.getStatusCode();
  JSONObject body = entity.getBody();
  String data1 = body.getString("data");
  Object data = body.get("data");
  String s = JSONObject.toJSONString(data);
  List<EamDeviceVo> eamDeviceVos = JSONObject.parseArray(s).toJavaList(EamDeviceVo.class);
  System.out.println("========================响应头:"+headerResponse);
  System.out.println("========================响应码:"+statusCode);
  System.out.println("========================响应头体:"+eamDeviceVos);