В Spring Boot я создаю пользовательский класс исключений с определенным кодом состояния и вызываю его для выдачи исключения с кодом: 100 и сообщением «Нет содержимого» на контроллере, но вывод все еще возвращает «состояние»: 500 и «ошибка ":" Внутренняя ошибка сервера "
AppException.java
public class AppException extends RuntimeException {
private static final long serialVersionUID = 1L;
private final Integer code;
public AppException(Integer code, String message) {
super(message);
this.code = code;
}
public Integer getCode() {
return code;
}
}
UserController.java
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping()
public ApiResponseDto getAllUsers(Pageable pageable) {
Page<User> users = userService.getAllUsers(pageable);
if (users.getSize() < 0) {
throw new AppException(100, "No have content");
}
return new ApiResponseDto(HttpStatus.OK.value(), users);
}
Фактический результат:
{
"timestamp": 1550987372934,
"status": 500,
"error": "Internal Server Error",
"exception": "com.app.core.exception.AppException",
"message": "No have content",
"path": "/api/user"
}
Мои ожидания:
{
"timestamp": 1550987372934,
"status": 100,
"error": "No have content",
"exception": "com.app.core.exception.AppException",
"message": "No have content",
"path": "/api/user"
}