diff --git a/kubernetes/src/main/java/io/kubernetes/client/ApiClient.java b/kubernetes/src/main/java/io/kubernetes/client/ApiClient.java index c6bccd3464..fb2d52cac7 100644 --- a/kubernetes/src/main/java/io/kubernetes/client/ApiClient.java +++ b/kubernetes/src/main/java/io/kubernetes/client/ApiClient.java @@ -920,13 +920,19 @@ public Call buildCall(String path, String method, List queryParams, List

queryParams, List collectionQueryParams, Object body, Map headerParams, Map formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException { - updateParamsForAuth(authNames, queryParams, headerParams); + String contentType = (String) headerParams.get("Content-Type"); + // Content-Type: JSON Patch( for json object) and Strategic Merge Patch (for list of json object) + if("application/json-patch+json".equals(contentType) && !List.class.isInstance(body)) { + contentType = "application/strategic-merge-patch+json"; + headerParams.put("Content-Type", contentType); + } + + updateParamsForAuth(authNames, queryParams, headerParams); final String url = buildUrl(path, queryParams, collectionQueryParams); final Request.Builder reqBuilder = new Request.Builder().url(url); processHeaderParams(headerParams, reqBuilder); - String contentType = (String) headerParams.get("Content-Type"); // ensuring a default content type if (contentType == null) { contentType = "application/json";