From fb48afc6aeb81d455256eb4c86f9dc8e43451b06 Mon Sep 17 00:00:00 2001 From: TS-QD1 Date: Tue, 13 Jun 2023 18:24:33 +0800 Subject: [PATCH] =?UTF-8?q?DELETE=E6=96=B9=E6=B3=95=E6=94=AF=E6=8C=81jsonB?= =?UTF-8?q?ody?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rpc/rest/handler/RestRemoteHandler.java | 2 ++ .../rpc/rest/request/RestRemoteRequest.java | 23 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/ink/wgink/common/rpc/rest/handler/RestRemoteHandler.java b/common/src/main/java/ink/wgink/common/rpc/rest/handler/RestRemoteHandler.java index b8578436..658bed9d 100644 --- a/common/src/main/java/ink/wgink/common/rpc/rest/handler/RestRemoteHandler.java +++ b/common/src/main/java/ink/wgink/common/rpc/rest/handler/RestRemoteHandler.java @@ -79,6 +79,8 @@ public class RestRemoteHandler implements InvocationHandler { requestMethod = RequestMethod.DELETE; RemoteDeleteMethod deleteMethod = method.getAnnotation(RemoteDeleteMethod.class); uri = deleteMethod.value(); + // 判断json + requestBody = getRequestBody(method.getParameters(), args); } else if (method.isAnnotationPresent(RemotePostMethod.class)) { // POST请求 requestMethod = RequestMethod.POST; diff --git a/common/src/main/java/ink/wgink/common/rpc/rest/request/RestRemoteRequest.java b/common/src/main/java/ink/wgink/common/rpc/rest/request/RestRemoteRequest.java index b963c927..d518cf3c 100644 --- a/common/src/main/java/ink/wgink/common/rpc/rest/request/RestRemoteRequest.java +++ b/common/src/main/java/ink/wgink/common/rpc/rest/request/RestRemoteRequest.java @@ -70,7 +70,11 @@ public class RestRemoteRequest { if (RequestMethod.GET.equals(requestMethod)) { result = get(remoteUri, headers); } else if (RequestMethod.DELETE.equals(requestMethod)) { - result = delete(remoteUri, headers); + if (jsonBody != null) { + result = delete(remoteUri, headers, jsonBody); + } else { + result = delete(remoteUri, headers); + } } else if (RequestMethod.POST.equals(requestMethod)) { // form表单优先 if (!fileVariableParams.isEmpty() || !fileInputVariableParams.isEmpty() || !formVariableParams.isEmpty()) { @@ -121,6 +125,23 @@ public class RestRemoteRequest { } } + /** + * DELETE请求 + * + * @param remoteUri + * @param headers + * @return + */ + public String delete(String remoteUri, Map headers, Object jsonBody) { + try { + HttpEntity httpEntity = getHttpEntity(headers, null, null, null, jsonBody); + ResponseEntity responseEntity = getRestTemplate(remoteUri).exchange(remoteUri, HttpMethod.DELETE, httpEntity, String.class); + return getStringResponse(responseEntity); + } catch (Exception e) { + return getErrorResponse(e); + } + } + /** * POST请求 *