java - 如何在对象 Java 中映射 HttpResponse

标签 java json rest get httpclient

我正在通过 HttpClient 进行 GET REST 调用:

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create(endpoint))
    .GET()
    .header("Authorization", authHeader)
    .header("Content-Type", "application/json")
    .build();

HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());

如何映射 MyObject 对象中的响应?首先将其作为字符串拦截是否正确?另外,我需要传递一个字符串作为路径参数,但我不知道在哪里添加它。

感谢支持!!

最佳答案

另一个常用的库是 Jackson ObjectMapper。使用 ObjectMapper,您可以将主体映射到这样的对象:

String json = response.body(); // "{ \"name\" : \"Nemo\", \"type\" : \"Fish\" }";
Animal nemo = objectMapper.readValue(json, Animal.class);

有关分步指南,请参阅 https://www.baeldung.com/jackson-object-mapper-tutorial#2-json-to-java-object

关于java - 如何在对象 Java 中映射 HttpResponse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68744766/

相关文章:

java - <T extends Comparable< 有问题吗? super T>>

json - 406 Not Acceptable Spring MVC JSON

javascript - 通过 Javascript 调用 Sabre Dev Studio API

java - 如何检索 DBObject 的架构?

java - 安卓 Intent 服务 : Unable to start

java - 没有选择的 Thymeleaf 选项

json - 将 MarkLogic EVAL REST 服务输出作为 JSON 返回

PHP JSON 不显示 MySQL 结果

rest - 使用基于表单的身份验证时,http 服务器应该在 401 响应中返回什么 WWW-Authenticate header ?

rest - 使用 REST/CLI 将 secret 文件凭据上传到 Jenkins