gpt4 book ai didi

java - Spring Boot中通过RestTemplate将Json数组发布到Json对象中

转载 作者:行者123 更新时间:2023-12-01 17:59:02 28 4
gpt4 key购买 nike

我尝试使用 RestTemplate 在 json 对象中发布数组

{
"update": {
"name": "xyz",
"id": "C2",
"Description": "aaaaaa",
"members": ["abc", "xyz"]
}
}

这是我的 PostMapping Controller

@PostMapping(value = "/update")
public Update update(@RequestBody Update update) {
String url = "";
HttpHeaders headers = createHttpHeaders("username", "passowrd");
JSONObject jsonObject = new JSONObject();
jsonObject.put("update", update);
HttpEntity<JSONObject> request = new HttpEntity<>(jsonObject, headers);
ResponseEntity<Update> update = restTemplate.exchange(url, HttpMethod.POST,request, Update.class);

return update.getBody();
}

这是我的 POJO

public class Update {
private String name;
private String id;
private String Descripion;
private List<String> members;
}

我得到了 500

{
"timestamp": "2020-03-13T06:31:21.822+0000",
"status": 500,
"error": "Internal Server Error",
"message": "No HttpMessageConverter for org.json.JSONObject and content type \"application/json\""
}

最佳答案

尝试使用 Json 消息转换器配置 RestTemplate。

restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

您可以引用这篇博文以获取详细说明

https://www.baeldung.com/spring-httpmessageconverter-rest

然后按如下方式执行其余调用。您将不再需要显式创建 Json 对象。

String url = "";
HttpEntity<Update> request = new HttpEntity<>(update, headers);
ResponseEntity<Update> firewallGroupUpdate = restTemplate.exchange(url, HttpMethod.POST, request, Update.class);
return firewallGroupUpdate.getBody();

关于java - Spring Boot中通过RestTemplate将Json数组发布到Json对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60665986/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com