在我的請求處理程序中,我想做一些驗證,並根據驗證檢查的結果,我將返回不同的響應(成功/錯誤)。所以我爲響應對象創建了一個抽象類,併爲故障情況和成功案例創建了2個子類。代碼看起來像這樣,但它不能編譯,抱怨errorResponse和successResponse無法轉換爲AbstractResponse。Spring MVC:如何在ResponseEntity主體中返回不同類型
我對Java通用和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);
}
'CreateUserSuccessResponse'是否擴展'AbstractResponse'? –
是的,CreateUserSuccessResponse和ErrorResponse都擴展AbstractResponse。 – dnang