diff --git a/seatunnel-connectors-v2/connector-http/connector-http-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/http/client/HttpClientProvider.java b/seatunnel-connectors-v2/connector-http/connector-http-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/http/client/HttpClientProvider.java index ef5b1f77d6b..2c6fe67b797 100644 --- a/seatunnel-connectors-v2/connector-http/connector-http-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/http/client/HttpClientProvider.java +++ b/seatunnel-connectors-v2/connector-http/connector-http-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/http/client/HttpClientProvider.java @@ -404,7 +404,17 @@ private void addHeaders(HttpRequestBase request, Map headers) { headers.forEach(request::addHeader); } + private boolean checkAlreadyHaveContentType(HttpEntityEnclosingRequestBase request) { + if (request.getEntity() != null && request.getEntity().getContentType() != null) { + return HTTP.CONTENT_TYPE.equals(request.getEntity().getContentType().getName()); + } + return false; + } + private void addBody(HttpEntityEnclosingRequestBase request, String body) { + if (checkAlreadyHaveContentType(request)) { + return; + } request.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON); if (StringUtils.isBlank(body)) {