Spring MVC:如何在响应实体主体中返回不同类型的
2022-09-02 23:51:21
在我的请求处理程序中,我想做一些验证,根据验证检查的结果,我将返回不同的响应(成功/错误)。因此,我为响应对象创建了一个抽象类,并为失败案例和成功案例创建了2个子类。代码看起来像这样,但它没有编译,抱怨错误Response和succesresponse无法转换为AbstractResponse。
我对Java Generic和Spring MVC很陌生,所以我不知道有一个简单的方法来解决这个问题。
@ResponseBody ResponseEntity<AbstractResponse> createUser(@RequestBody String requestBody) {
if(!valid(requestBody) {
ErrorResponse errResponse = new ErrorResponse();
//populate with error information
return new ResponseEntity<> (errResponse, HTTPStatus.BAD_REQUEST);
}
createUser();
CreateUserSuccessResponse successResponse = new CreateUserSuccessResponse();
// populate with more info
return new ResponseEntity<> (successResponse, HTTPSatus.OK);
}