<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
import com.fasterxml.jackson.annotation.JsonProperty;
public class User {
@JsonProperty("name")
private String username;
@JsonProperty("age")
private int userAge;
}
import com.fasterxml.jackson.databind.ObjectMapper;
User user = new User();
user.setUsername("John");
user.setUserAge(25);
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(user);
URL url = new URL("http://example.com/api/users");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
outputStream.writeBytes(json);
outputStream.flush();
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
String jsonResponse = response.toString();
User responseUser = objectMapper.readValue(jsonResponse, User.class);
}