![](/img/trans.png)
[英]Spring Boot - How to send an array of objects using Post request (JSON)
[英]Send POST request with JSON data Spring boot
我嘗試使用 Spring 引導以特定格式發送帶有 json 數據的發布請求。 我沒有得到預期格式的數據。 請幫忙解決。 提前致謝。
class UserService{
public void sendRequest(User data){
HttpHeaders header = new HttpHeaders();
mapHeaders.set("Content-Type","application/json");
Map<String,User> m= new HashMap<String,User>();
m.put("request",data);
//print m i.e. payload being sent
HttpEntity entity = new HttpEntity<Object>(m, header);
String url = some url here
ResponseEntity<Object> response = restTemplate.exchange(url, httpMethod, entity,
Object.class);
}
}
class User{
private String firstName;
private String lastName;
}
在打印有效載荷時,它將有效載荷顯示為:
{request=User(firstName=Raj,lastName=Kumar)}
我想要數據作為
{request={firstName=Raj,lastName=Kumar}}
您可以使用 JSONObject:
Map<String, JSONObject> m = new HashMap<>();
m.put("request", new JSONObject(data));
結果:
{request={"firstName":"Raj","lastName":"Kumar"}}
Maven 依賴:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20210307</version>
</dependency>
如果您需要以 JSON 格式打印 object,請使用 Jackson 庫執行以下操作:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
...
m.put("request", data);
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonString = objectMapper.writeValueAsString(m);
System.out.println(jsonString);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.