【发布时间】:2021-09-25 18:04:23
【问题描述】:
我目前正在发送一个GET request,它在响应中返回一个null 正文。
@Service
public class CarService {
private RestTemplate restTemplate;
private final String url = "url";
private final String accessToken = "x";
@Autowired
public CarService () throws URISyntaxException {
restTemplate = new RestTemplate();
}
public void fetchCars() throws URISyntaxException {
HttpHeaders headers = new HttpHeaders();
headers.setBearerAuth(accessToken);
headers.setAccept(List.of(MediaType.APPLICATION_JSON));
ResponseEntity<CarList> carList = restTemplate.exchange
(RequestEntity.get(new URI(url)).headers(headers).build(), CarList.class);
}
}
CarList.class 如下所示:
@JsonIgnoreProperties(ignoreUnknown = true)
public class CarList{
private List<Car> carList;
public CarList(List<Car> carList) {
this.carList= carList;
}
public CarList() {
}
public List<Car> getCarList() {
return carList;
}
@Override
public String toString() {
return "CarList{" +
"carList=" + carList +
'}';
}
}
Postman 中的响应如下所示:
{
"cars": [
{
"carUid": "aaaa-ccc-dd-cc-ee",
"model": "hyundai",
"price": 20000,
"soldAt": "2021-09-24T22:10:15.307Z"
}
]
}
我错过了什么吗? 这是我第一次尝试从客户端消费,所以请考虑我可能遗漏的最基本的东西。
我已经在 Postman 中使用给定的 accessToken 测试了 GET 请求,它工作正常。
【问题讨论】:
-
我希望你能得到一些答案,但坦率地说,我认为这是一个你可以轻松调试的问题 - 任何 IDE 都会为你获取 Spring 源代码,你可以看到响应处理失败的地方。
-
我收到 200 响应代码,但正文为空。我正在按照其他用户提供的建议来解决它。希望它会很快得到修复。谢谢!
标签: java spring-boot get resttemplate