use*_*795 2 rest spring json spring-mvc
如果用户没有输入我编码的两个名称,如何从Spring MVC更改/更新以下REST调用以返回错误..类似于未找到的东西?
@RequestMapping(value = "/{name}", method = RequestMethod.GET)
@ResponseBody
public User getName(@PathVariable String name, ModelMap model)
{
logger.debug("I am in the controller and got user name: " + name);
/*
Simulate a successful lookup for 2 users, this is where your real lookup code would go
*/
if ("name2".equals(name))
{
return new User("real name 2", name);
}
if ("name1".equals(name))
{
return new User("real name 1", name);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
kev*_*847 10
定义一个新的异常类,例如ResourceNotFoundException,从带注释的控制器方法中抛出一个这样的实例getName.
然后还在Controller类中定义带注释的异常处理程序方法来处理该异常,并返回404 Not Found状态代码,可能会记录它.
@ExceptionHandler(ResourceNotFoundException.class)
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public void handleResourceNotFoundException(ResourceNotFoundException ex)
{
LOG.warn("user requested a resource which didn't exist", ex);
}
Run Code Online (Sandbox Code Playgroud)
甚至使用@ResponseBody注释返回一些错误消息:
@ExceptionHandler(ResourceNotFoundException.class)
@ResponseStatus(value = HttpStatus.NOT_FOUND)
@ResponseBody
public String handleResourceNotFoundException(ResourceNotFoundException ex)
{
return ex.getMessage();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12598 次 |
| 最近记录: |