1
我有被配置爲與會話驗證爲如下/ session_auth_uri一個控制器:Spring MVC的控制器繼承重寫處理程序方法
@Controller
@RequestMapping("/session_auth_uri")
public class BaseController {
@RequestMapping(value = "/do", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
@ResponseBody
public Result do(@RequestBody Query query) throws SomeException {
return new Result();
}
@RequestMapping(value = "/exec", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
@ResponseBody
public Result exec(@RequestBody Query query) throws SomeException {
return new Result();
}
}
我想延長BaseController重用1種處理程序方法=>做(... )(基本身份驗證用於/ basic_auth_uri):
@Controller
@RequestMapping("/basic_auth_uri")
public class SubclassController extends BaseController {
}
的問題是,我想訪問/ basic_auth_uri/Exec時要返回HttpStatus.NOT_IMPLEMENTED爲EXEC(...)處理方法。
感謝您的任何建議。
事實上,這部作品在情況下,我提供的要求有效的JSON序列查詢。如果我沒有提供任何請求,我會得到500 - 由於MappingJacksonHttpMessageConverter的內部服務器錯誤;如果我在請求中提供一個無效的輸入,我得到一個JSONParseException;假設我們有一個RuntimeException的@ExceptionHandler方法,並且返回200 OK並在響應中返回異常消息。我想到的是:不管請求輸入是什麼=>總是返回501 - NOT IMPLEMENTED響應狀態。有沒有辦法做到這一點? –
僅當我刪除@RequestBody註釋時,纔會得到501 - 未實現的HTTP狀態碼。 –