Как получить значение ResponseEntity в Spring Boot? - PullRequest
0 голосов
/ 04 мая 2019

Я новичок в Spring Boot.Я получил ответ от API с responseEntity в Spring Boot.Я вернул значение ответа.Но я хочу определить массив / JSON и установить значение ответа для этого массива / JSON.После этого я хочу получить конкретное значение этого массива.Например;

возвращаемое значение:

{"id":"123456789","license":"6688","code":"D8B1H832EE45"}

Я хочу взять только значение идентификатора 123456789.

что-то вроде;

array ['id']

Как я могу это сделать?Помогите мне, пожалуйста.

@GetMapping("/test")
public ResponseEntity<String> getmc() {

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.set("Authorization", "Bearer " + restTemplate.getAccessToken());

    HttpEntity<String> entity = new HttpEntity<>(null, headers);

    ResponseEntity x = restTemplate.exchange("https://api.x.com/v1/demo", HttpMethod.GET, entity, String.class);

    return restTemplate.exchange("https://api.x.com/v1/demo", HttpMethod.GET, entity, String.class);
}

я знаю, что это неправильно, но я просто хочу что-то вроде: x.getBody ('id');

результат: 123456789

1 Ответ

0 голосов
/ 04 мая 2019

Вы можете смоделировать Pojo (Простой старый Java-объект) на основе json, как показано ниже:

public class Pojo {
    private String id;
    private int license;
    private String code;

    public String getId() { return this.id;}
    public String getLicense() { return this.license;}
    public String getCode() { return this.code;}
}

Затем измените конечную точку на следующую подпись:

@GetMapping("/test")
public ResponseEntity<String> getmc() {

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.set("Authorization", "Bearer " + restTemplate.getAccessToken());

    HttpEntity<Pojo> entity = new HttpEntity<>(null, headers);

    ResponseEntity x = restTemplate.exchange("https://api.x.com/v1/demo", HttpMethod.GET, entity, Pojo.class);

    return ResponseEntity.ok(entity.getId());
}
...