我有一个简单的休息控制器:
@RestController
@RequestMapping("/api/v1/")
public class OrderController {
@RequestMapping(value = "/orders2", method = RequestMethod.POST)
public OrderDto createOrder2(@RequestBody OrderDto order) throws Exception {
throw new Exception("Bouh!");
}
}
我想在全球范围内管理异常。从我读到的内容可以通过以下方式完成:
@ControllerAdvice
public class ErrorController {
@ExceptionHandler(Exception.class)
@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public ErrorDto handleConflict(HttpServletRequest request, Exception e) throws Exception {
ErrorDto o = new ErrorDto ();
o.setMessage(e.getMessage());
return o;
}
}
但是当我根据我的要求发帖时,我收到以下错误:
26/10/2016 17:26:08.187 [http-nio-8080-exec-12] WARN o.s.web.servlet.PageNotFound -
No mapping found for HTTP request with URI [/duorest/api/v1/api/v1/orders2]
in DispatcherServlet with name 'rest'
我不知道为什么uri会改为/ duorest / api / v1 / api / v1 / orders2
一些事实:
有人已经有过这个问题吗?或任何提示?
答案 0 :(得分:0)
它解决了吗?如果没有,请尝试执行@ResponseBody
方法中缺少handleConflict
。