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状态码。 –