gpt4 book ai didi

json - 如何向我的 Spring MVC REST 服务添加错误?

转载 作者:行者123 更新时间:2023-12-01 09:28:26 25 4
gpt4 key购买 nike

如果用户没有输入我正在编码的两个名称中的任何一个,我如何更改/更新来自 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 two 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;
}

最佳答案

定义一个新的异常类,例如ResourceNotFoundException 并从带注释的 Controller 方法 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);
}

或者甚至返回一些错误信息,使用@ResponseBody注解:

@ExceptionHandler(ResourceNotFoundException.class)
@ResponseStatus(value = HttpStatus.NOT_FOUND)
@ResponseBody
public String handleResourceNotFoundException(ResourceNotFoundException ex)
{
return ex.getMessage();
}

关于json - 如何向我的 Spring MVC REST 服务添加错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16986027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com