在ResponseEntity正文中返回null(Spring Boot RESTful)

Hél*_*lho 5 java rest spring web-services spring-boot

我正在使用以下服务创建RESTFul Web服务:

@RequestMapping(value = "/test", produces = "application/json", method = RequestMethod.GET)
public ResponseEntity<List<GenericModel>> returnEmpty() {
    List<GenericModel> genericModelList = new ArrayList<>();

    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-Type", "application/json; charset=utf-8");

    return responseEntity = new ResponseEntity<>(genericModelList, headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

当空列表返回时,我在浏览器中得到以下响应:

[]
Run Code Online (Sandbox Code Playgroud)

如何在浏览器中收到“空”响应而不是[]?有某种方法可以告诉Spring将列表大小0呈现为“空”而不是[]?

Nam*_*man 3

根据是否genericModelList为空或不旋转它的一种方法可能是:-

if(genericModelList.isEmpty()) {
    return new ResponseEntity<>(null, headers, HttpStatus.OK);
} else {
    return new ResponseEntity<>(genericModelList, headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

否则你也可以跳过bodyusing构造函数。ResponseEntity(MultiValueMap<String,String> headers, HttpStatus status)