系统间对接,有个系统方法为PATCH,参数为@RequestBody
目前,前端,postman都有可以调通
前端
但是,问题是,我需要后台模拟发送http请求,调用接口,一直是400,分析原因是参数没接收到,即红框部分
public static int patch1(String url,JSONObject jsonParam, Map<String, String> header){
int statusCode = 0;
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
HttpPatch httpPatch = new HttpPatch(url);
httpPatch.setHeader("Content-type", "application/json");
if (header != null) {
for (Map.Entry<String, String> entry : header.entrySet()) {
httpPatch.addHeader(entry.getKey(), entry.getValue());
}
}
if (jsonParam != null){
StringEntity entity = new StringEntity(jsonParam.toString(),CONTENT_ENCODING);
httpPatch.setEntity(entity);
String string = StreamUtils.copyToString(httpPatch.getEntity().getContent(), StandardCharsets.UTF_8);
System.out.print(string);
}
HttpResponse response = httpClient.execute(httpPatch);
statusCode = response.getStatusLine().getStatusCode();
return statusCode;
} catch (Exception e) {
e.printStackTrace();
}finally {
}
return statusCode;
}
求助,参数要怎么给他塞进去?????????????????????????