Trong bộ điều khiển, tôi thực hiện kiểm tra quyền để xem liệu người dùng có thể thực hiện hành động nào đó không. Nếu họ không thể, tôi muốn trả lại 404.Spring MVC 3 - Trả lời yêu cầu với 404?
Làm cách nào để yêu cầu Spring trả về 404?
Trong bộ điều khiển, tôi thực hiện kiểm tra quyền để xem liệu người dùng có thể thực hiện hành động nào đó không. Nếu họ không thể, tôi muốn trả lại 404.Spring MVC 3 - Trả lời yêu cầu với 404?
Làm cách nào để yêu cầu Spring trả về 404?
Bạn có thể ném một ngoại lệ và xử lý nó trong một phương pháp điều khiển cấp:
@Controller
public class MyController {
@ResponseStatus(NOT_FOUND)
@ExceptionHandler({UnauthorizedException.class})
public void handle() {
// ...
}
}
Nếu bất kỳ phương thức điều khiển ném một số UnauthorizedException.
, phương thức xử lý trên sẽ được gọi để xử lý và trả về lỗi 404.
Cách thực sự khéo léo để xử lý việc này. –
Trên phiên bản mới hơn của Spring, bạn chỉ có thể ném NoSuchRequestHandlingMethodException trong bộ điều khiển của bạn Tôi nhận xét ở đây vì nó vẫn xuất hiện trong trang đầu tiên của google – autra
Bạn có thể lấy được ngoại trừ của bạn từ HttpException và đường dẫn 404 mã để xây dựng cơ sở:
public class MyNotFoundException : HttpException
{
public MyNotFoundException(string message, Exception inner)
: base(404, message, inner)
{
}
}
Xem http://stackoverflow.com/questions/2066946/trigger-404-in-spring-mvc-controller – axtavt
@axtavt Câu trả lời trên trang này là những gì tôi đã sử dụng. Cảm ơn – Kyle
Bạn thực sự nên phản hồi với 403 .. –