diff --git a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java index b0468a3a..95b9d0bf 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java +++ b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSpPlayController.java @@ -3,30 +3,26 @@ * Copyright (C) 2013-2025 All Rights Reserved. */ package com.kms.yg.df.controller; - -import com.alibaba.fastjson.JSONObject; -import com.kms.yg.cz.dto.MonitorQueDto; import com.kms.yg.df.service.BsSgcDfSpPlayService; import com.kms.yxgh.base.Response; import com.kms.yxgh.df.dto.DfSpPlayDto; import com.kms.yxgh.df.dto.DfSpPlayQueDto; +import com.kms.yxgh.df.dto.ReservoirListDto; +import com.kms.yxgh.df.dto.ReservoirListQueDto; import com.shuili.common.core.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -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.RequestMapping; import org.springframework.web.bind.annotation.RestController; - /** * @author lyd * @version SpTest.java, v 0.1 2025-03-07 15:56 lyd */ @RestController -@RequestMapping("/safe/operation/") +@RequestMapping("/safe/operation") @Api(tags = "安全运行-视频播放") public class BsSgcDfSpPlayController extends BaseController { @@ -34,48 +30,26 @@ public class BsSgcDfSpPlayController extends BaseController { private BsSgcDfSpPlayService bsSgcDfSpPlayService; /** - * 获取巡查情况概览统计 + * 视频播放 * @param dto * @return */ - @PostMapping("/Play") + @PostMapping("/play") @ApiOperation("视频播放") public Response Play(@RequestBody DfSpPlayQueDto dto) { - return Response.ok(bsSgcDfSpPlayService.getMockData()); + return Response.ok(bsSgcDfSpPlayService.play(dto)); } - // 共享接口 - static final String GX_URL ="http://19.15.67.125:80/resourceSharing/oauth/token"; - - - // 关系接口 - static final String BELONG_URL ="http://19.25.35.205:31190/ZHSL_ZY/dws_rel_wmst_res"; - - static public HttpHeaders getHttpHeaders() { - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - headers.set("X-H3C-ID", "4846637469663"); - headers.set("X-H3C-APPKEY", "xynzynys"); - return headers; + /** + * 水库列表 + * @param + * @return + */ + @PostMapping("/reservoirList") + @ApiOperation("水库列表") + public Response reservoirList(@RequestBody ReservoirListDto dto) { + return Response.ok(bsSgcDfSpPlayService.reservoirList(dto)); } - public static void main(String[] args) { - MonitorQueDto monitorQueDto=new MonitorQueDto(); -// monitorQueDto.setResCode("HP0014418020000235"); -// monitorQueDto.setPageNum(1); -// monitorQueDto.setPageSize(10); -// RestTemplate restTemplate=new RestTemplate(); -// String requestStr = JSONObject.toJSONString(monitorQueDto); -// HttpHeaders headers = getHttpHeaders(); -// HttpEntity httpEntity = new HttpEntity<>(requestStr, headers); -// String seqResult = ""; -// try { -// ResponseEntity responseEntity = restTemplate.exchange(BELONG_URL, HttpMethod.POST, httpEntity, String.class); -// seqResult = responseEntity.getBody(); -// System.out.println(seqResult); -// } catch (Exception e) { -// System.out.println("请求接口:{},返回异常"); -// } - } } diff --git a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java index 135933d2..11f1eaaa 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java +++ b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java @@ -7,16 +7,30 @@ import com.kms.yg.df.domain.BsSgcDfSwtz; import com.kms.yg.df.mapper.BsSgcDfSwtzMapper; import com.kms.yxgh.df.dto.DfSpPlayDto; import com.kms.yxgh.df.dto.DfSpPlayQueDto; +import com.kms.yxgh.df.dto.ReservoirListDto; +import com.kms.yxgh.df.dto.ReservoirListQueDto; import com.kms.yxgh.util.DataCenterRestTemplateUtils; +import com.kms.yxgh.util.RestTemplateUtil; import com.shuili.common.core.service.BaseService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; import org.springframework.util.StringUtils; +import org.springframework.web.client.RestTemplate; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; @@ -31,84 +45,59 @@ import java.util.Objects; @Service @Slf4j public class BsSgcDfSpPlayService { -// @Value("${belong.reservoir.url:}") -// private String belongReservoirUrl; -// @Value("${sp.oauth.token.url:}") -// private String spOauthTokenUrl; - - // @Value("${sp.play.url:}") -// private String spPlayUrl; @Autowired private DataCenterRestTemplateUtils dataCenterRestTemplateUtils; static final String BELONG_URL ="http://19.25.35.205:31190/ZHSL_ZY/dws_rel_wmst_res"; - static final String OAUTH_TOKEN ="http://19.15.67.125:80/resourceSharing/oauth/token"; + static final String OAUTH_TOKEN ="http://19.15.67.125:80/vsap-opp-service/resourceSharing/oauth/token"; - static final String SP_PLAY_URL ="http://19.15.67.125:80/resourceSharing/startTransform"; + static final String SP_PLAY_URL ="http://19.15.67.125:80/vsap-opp-service/resourceSharing/startTransform"; + public ReservoirListDto reservoirList (ReservoirListDto dto) { + ReservoirListDto listDto=new ReservoirListDto(); + // 1. 获取水库信息 + String belongReservoirUrlJson = dataCenterRestTemplateUtils.doPostRequest(BELONG_URL, dto); + log.info("belongReservoirUrl-请求接口响应报文: {}", belongReservoirUrlJson); - public DfSpPlayDto getMockData () { - DfSpPlayDto rest = new DfSpPlayDto(); - Map map =new HashMap<>(); - map.put("rtspPlayUrl","rtsp://173.46.129.58:554/rtp/da3ca861873949dc66f6657f2adb01ea?token=9eedb58c7b634bc8b97bf2a618bf3bc1"); - map.put("flvPlayUrl","http://173.46.129.58:8889/rtp/da3ca861873949dc66f6657f2adb01ea.flv?token=9eedb58c7b634bc8b97bf2a618bf3bc1"); - map.put("rtmpPlayUrl","rtmp://173.46.129.58:1935/rtp/da3ca861873949dc66f6657f2adb01ea?token=9eedb58c7b634bc8b97bf2a618bf3bc1"); - map.put("hlsPlayUrl","http://173.46.129.58:8889/rtp/da3ca861873949dc66f6657f2adb01ea/hls.m3u8?token=9eedb58c7b634bc8b97bf2a618bf3bc1"); - rest.setUrlsMap(map); - return rest; + JSONObject belongReservoirJson = parseJson(belongReservoirUrlJson); + if (belongReservoirJson == null || !isSuccess(belongReservoirJson)) { + log.warn("获取水库信息失败,响应: {}", belongReservoirUrlJson); + return listDto; + } + JSONArray reservoirData = parseJsonArray(belongReservoirJson.get("data")); + if (reservoirData == null || reservoirData.isEmpty()) { + log.warn("水库信息数据为空:{}",reservoirData.toString()); + return listDto; + } + List list=new ArrayList(); + for (int i = 0; i < reservoirData.size(); i++) { + Map map = (Map) reservoirData.get(0); + list.add(map.get("RES_CODE").toString()); + } + listDto.setCameraIds(list); + return listDto; } - public DfSpPlayDto play(DfSpPlayQueDto dto) { + public DfSpPlayDto play(DfSpPlayQueDto dto) { DfSpPlayDto rest = new DfSpPlayDto(); - try { - - - // 1. 获取水库信息 - String belongReservoirUrlJson = dataCenterRestTemplateUtils.doPostRequest(BELONG_URL, dto); - log.info("belongReservoirUrl-请求接口响应报文: {}", belongReservoirUrlJson); - - JSONObject belongReservoirJson = parseJson(belongReservoirUrlJson); - if (belongReservoirJson == null || !isSuccess(belongReservoirJson)) { - log.warn("获取水库信息失败,响应: {}", belongReservoirUrlJson); - return rest; - } - - JSONArray reservoirData = parseJsonArray(belongReservoirJson.get("data")); - if (reservoirData == null || reservoirData.isEmpty()) { - log.warn("水库信息数据为空"); - return rest; - } - - // 取第一个水库信息 - Map detailMap = (Map) reservoirData.get(0); - String resCode = detailMap.getOrDefault("RES_CODE", ""); - dto.setResCode(resCode); - // 2. 获取令牌 - String spOauthTokenUrlJson = dataCenterRestTemplateUtils.doPostRequest(OAUTH_TOKEN, dto); - log.info("spOauthTokenUrlJson-请求接口响应报文: {}", spOauthTokenUrlJson); - + String spOauthTokenUrlJson = getToken(dto); JSONObject tokenJson = parseJson(spOauthTokenUrlJson); if (tokenJson == null || !isSuccess(tokenJson)) { - log.warn("获取令牌失败,响应: {}", spOauthTokenUrlJson); return rest; } - JSONObject tokenData = tokenJson.getJSONObject("data"); if (tokenData == null) { log.warn("令牌数据为空"); return rest; } - String token = String.valueOf(tokenData.get("token")); - dto.setCameraId(dto.getResCode()); dto.setToken(token); - // 3. 调用第三方接口获取播放地址 - String playOauthTokenUrlJson = dataCenterRestTemplateUtils.doPostRequest(SP_PLAY_URL, dto); + String playOauthTokenUrlJson = getSpPlayUrls(dto); log.info("spPlayUrl-请求接口响应报文: {}", playOauthTokenUrlJson); JSONObject playJson = parseJson(playOauthTokenUrlJson); @@ -133,6 +122,9 @@ public class BsSgcDfSpPlayService { return rest; } + + + /** * 解析 JSON 字符串为 JSONObject */ @@ -159,4 +151,43 @@ public class BsSgcDfSpPlayService { private boolean isSuccess(JSONObject json) { return json != null && Objects.equals(200, json.getIntValue("code")); } + + public String getSpPlayUrls (DfSpPlayQueDto dto) { + HttpHeaders headers = new HttpHeaders(); + Map uriVariables = new HashMap<>(); + MultiValueMap headValues = new LinkedMultiValueMap<>(); + headValues.put("token", Collections.singletonList(dto.getToken())); + MapparamMap=new HashMap<>(); + paramMap.put("cameraId",dto.getCameraId()); + headers.setContentType(MediaType.APPLICATION_JSON); + String seqResult2 = null; + try { + seqResult2 = RestTemplateUtil.postForObjectWithHead(paramMap, headValues,SP_PLAY_URL , String.class, uriVariables); + log.info("获取播放地址响应SP_PLAY_URL: {}", seqResult2); + } catch (Exception e) { + log.warn("请求接口SP_PLAY_URL返回异常: {}", e.getMessage()); + } + return seqResult2; + } + + public String getToken (DfSpPlayQueDto dto) { + RestTemplate restTemplate=new RestTemplate(); + String token =null; + String requestStr = JSONObject.toJSONString(dto); + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + HttpEntity httpEntity = new HttpEntity<>(requestStr, headers); + String seqResult = ""; + try { + ResponseEntity responseEntity = restTemplate.exchange(OAUTH_TOKEN, HttpMethod.POST, httpEntity, String.class); + seqResult = responseEntity.getBody(); + log.info("获取播放地址响应SP_PLAY_URL: {}", seqResult); + JSONObject tokenJson = JSONObject.parseObject(seqResult); + JSONObject tokenData = tokenJson.getJSONObject("data"); + token= String.valueOf(tokenData.get("token")); + } catch (Exception e) { + log.warn("请求接口OAUTH_TOKEN返回异常: {}", e.getMessage()); + } + return token; + } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java index 9c1b9447..8a1b3bb5 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfSpPlayQueDto.java @@ -19,11 +19,7 @@ public class DfSpPlayQueDto { @ApiModelProperty("手机号码") private String mobile; - @JSONField(name = "RES_CODE") - @ApiModelProperty(value = "水库编码") - private String resCode; - - @ApiModelProperty(value = "视频播放接口入参") + @ApiModelProperty("视频id") private String cameraId; @ApiModelProperty(value = "token") diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListDto.java new file mode 100644 index 00000000..2b0247a0 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListDto.java @@ -0,0 +1,21 @@ +package com.kms.yxgh.df.dto; + +import com.alibaba.fastjson.annotation.JSONField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +@ApiModel("视频播放") +@Data +public class ReservoirListDto { + @ApiModelProperty(value = "视频ids") + private List cameraIds; + + @JSONField(name = "RES_CODE") + @ApiModelProperty(value = "水库编码") + private String resCode; +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListQueDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListQueDto.java new file mode 100644 index 00000000..a79cf114 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/ReservoirListQueDto.java @@ -0,0 +1,28 @@ +package com.kms.yxgh.df.dto; +import com.alibaba.fastjson.annotation.JSONField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName: ReservoirListQueDto + * @Description: TODO + * @Date: 2024/3/5 上午10:18 + * * + * @author: hxh + * @version: 1.0 + */ + +@Data +@ApiModel("水库视频列表") +public class ReservoirListQueDto { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "页码") + private Integer pageSize = 10; + + @ApiModelProperty(value = "每页条数") + private Integer pageNum = 1; + + +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/util/RestTemplateUtil.java b/shuili-system/src/main/java/com/kms/yxgh/util/RestTemplateUtil.java new file mode 100644 index 00000000..3eab6ed0 --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yxgh/util/RestTemplateUtil.java @@ -0,0 +1,333 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package com.kms.yxgh.util; + +import com.alibaba.fastjson.JSONObject; +import java.util.HashMap; +import java.util.Map; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.lang.Nullable; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; + +public class RestTemplateUtil { + private static final Logger log = LoggerFactory.getLogger(RestTemplateUtil.class); + private static final RestTemplate restTemplate = new RestTemplate(); + private static final String QUESTION_MARK = "?"; + private static final String AFTER_BRACE = "{"; + private static final String BEFORE_BRACE = "}"; + private static final String EQUALS_SIGN = "="; + private static final String AND = "&"; + + public RestTemplateUtil() { + } + + private static String getParams(Map params) { + return (String)params.keySet().stream().map((key) -> { + return key + "=" + "{" + key + "}"; + }).collect(Collectors.joining("&")); + } + + public static String getUrl(String url, Map params) { + String param = getParams(params); + if (url.indexOf("?") > 0) { + url = url + "&" + param; + } else { + url = url + "?" + param; + } + + return url; + } + + public static RestTemplate getRestTemplate() { + return restTemplate; + } + + public static T getForObject(String url, Class responseType) { + return restTemplate.getForObject(url, responseType, new Object[0]); + } + + public static T getForObject(String url, Class responseType, Object... uriVariables) { + return restTemplate.getForObject(url, responseType, uriVariables); + } + + public static T getForObject(String url, Class responseType, Map uriVariables) { + return restTemplate.getForObject(url, responseType, uriVariables); + } + + public static ResponseEntity getForObjectWithHead(MultiValueMap headValues, String url, Class responseType, Map uriVariables) { + HttpHeaders headers = new HttpHeaders(); + headers.addAll(headValues); + HttpEntity requestEntity = new HttpEntity(headers); + return restTemplate.exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); + } + + public static T postForObjectWithHead(Object body, MultiValueMap headValues, String url, Class responseType, Map uriVariables) { + HttpHeaders headers = new HttpHeaders(); + headers.addAll(headValues); + HttpEntity requestEntity = new HttpEntity(body, headers); + return restTemplate.postForObject(url, requestEntity, responseType, uriVariables); + } + + public static String postForFormUrlencoded(String body, String url, Map uriVariables) { + HttpHeaders headers = new HttpHeaders(); + headers.add("Content-Type", "application/x-www-form-urlencoded"); + HttpEntity requestEntity = new HttpEntity(body, headers); + log.info(url); + log.info(requestEntity.toString()); + log.info(JSONObject.toJSONString(uriVariables)); + String s = (String)restTemplate.postForObject(url, requestEntity, String.class, uriVariables); + log.info(s); + return s; + } + + public static ResponseEntity getForObjectWithHead(MultiValueMap values, String url, Class responseType, Object... uriVariables) { + HttpHeaders headers = new HttpHeaders(); + headers.addAll(values); + HttpEntity requestEntity = new HttpEntity(headers); + return restTemplate.exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); + } + + public static T postForObject(String url, @Nullable Object request, Class responseType) { + return restTemplate.postForObject(url, request, responseType, new Object[0]); + } + + public static T postForObject(String url, @Nullable Object request, Class responseType, Object... uriVariables) { + return restTemplate.postForObject(url, request, responseType, uriVariables); + } + + public static T postForObject(String url, @Nullable Object request, Class responseType, Map uriVariables) { + return restTemplate.postForObject(url, request, responseType, uriVariables); + } + + public static T postFormDataForObject(String url, MultiValueMap map, Class responseType) { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + HttpEntity> request = new HttpEntity(map, headers); + return restTemplate.postForObject(url, request, responseType, new Object[0]); + } + + public static ResponseEntity get(String url, Class responseType) { + return restTemplate.getForEntity(url, responseType, new Object[0]); + } + + public static ResponseEntity get(String url, Class responseType, Object... uriVariables) { + return restTemplate.getForEntity(url, responseType, uriVariables); + } + + public static ResponseEntity get(String url, Class responseType, Map uriVariables) { + return restTemplate.getForEntity(url, responseType, uriVariables); + } + + public static ResponseEntity get(String url, Map headers, Class responseType, Object... uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return get(url, httpHeaders, responseType, uriVariables); + } + + public static ResponseEntity get(String url, HttpHeaders headers, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(headers); + return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity get(String url, Map headers, Class responseType, Map uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return get(url, httpHeaders, responseType, uriVariables); + } + + public static ResponseEntity get(String url, HttpHeaders headers, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(headers); + return exchange(url, HttpMethod.GET, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity post(String url, Class responseType) { + return restTemplate.postForEntity(url, HttpEntity.EMPTY, responseType, new Object[0]); + } + + public static ResponseEntity post(String url, Object requestBody, Class responseType) { + return restTemplate.postForEntity(url, requestBody, responseType, new Object[0]); + } + + public static ResponseEntity post(String url, Object requestBody, Class responseType, Object... uriVariables) { + return restTemplate.postForEntity(url, requestBody, responseType, uriVariables); + } + + public static ResponseEntity post(String url, Object requestBody, Class responseType, Map uriVariables) { + return restTemplate.postForEntity(url, requestBody, responseType, uriVariables); + } + + public static ResponseEntity post(String url, Map headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return post(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity post(String url, HttpHeaders headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return post(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity post(String url, Map headers, Object requestBody, Class responseType, Map uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return post(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity post(String url, HttpHeaders headers, Object requestBody, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return post(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity post(String url, HttpEntity requestEntity, Class responseType, Object... uriVariables) { + return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity post(String url, HttpEntity requestEntity, Class responseType, Map uriVariables) { + return restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, Class responseType, Object... uriVariables) { + return put(url, HttpEntity.EMPTY, responseType, uriVariables); + } + + public static ResponseEntity put(String url, Object requestBody, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody); + return put(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, Object requestBody, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody); + return put(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, Map headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return put(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity put(String url, HttpHeaders headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return put(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, Map headers, Object requestBody, Class responseType, Map uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return put(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity put(String url, HttpHeaders headers, Object requestBody, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return put(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, HttpEntity requestEntity, Class responseType, Object... uriVariables) { + return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity put(String url, HttpEntity requestEntity, Class responseType, Map uriVariables) { + return restTemplate.exchange(url, HttpMethod.PUT, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Class responseType, Object... uriVariables) { + return delete(url, HttpEntity.EMPTY, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Class responseType, Map uriVariables) { + return delete(url, HttpEntity.EMPTY, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Object requestBody, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Object requestBody, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Map headers, Class responseType, Object... uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return delete(url, httpHeaders, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpHeaders headers, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(headers); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Map headers, Class responseType, Map uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return delete(url, httpHeaders, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpHeaders headers, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(headers); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Map headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return delete(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpHeaders headers, Object requestBody, Class responseType, Object... uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, Map headers, Object requestBody, Class responseType, Map uriVariables) { + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setAll(headers); + return delete(url, httpHeaders, requestBody, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpHeaders headers, Object requestBody, Class responseType, Map uriVariables) { + HttpEntity requestEntity = new HttpEntity(requestBody, headers); + return delete(url, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpEntity requestEntity, Class responseType, Object... uriVariables) { + return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity delete(String url, HttpEntity requestEntity, Class responseType, Map uriVariables) { + return restTemplate.exchange(url, HttpMethod.DELETE, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Object... uriVariables) { + return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables); + } + + public static ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Map uriVariables) { + return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables); + } + + public static void main(String[] args) { + Map body = new HashMap(); + Map uriVariables = new HashMap(); + uriVariables.put("name", "ddd"); + body.put("shopname", "测试商店"); + MultiValueMap headValues = new LinkedMultiValueMap(); + headValues.add("name2", "ssss"); + String response = (String)postForObjectWithHead(body, headValues, "http://127.0.0.1:9095/test/query?name={name}", String.class, uriVariables); + System.out.println(response); + } +}