Podem por gentileza me ajudar na verificação do código para solucionar esse problema?
Eu identifiquei que o status que eu defino aqui @ResponseStatus(HttpStatus.NOT_FOUND), ele reflete no Postman.
Exemplo @ResponseStatus(HttpStatus.ALREADY_REPORTED):
No console do IntelliJ também:
2024-01-18T11:42:54.389-03:00 WARN 9680 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [br.com.projeto.exception.NotFoundException: Recurso não encontrado]
package br.com.projeto.exception
import br.com.projeto.dto.ErrorView
import jakarta.servlet.http.HttpServletRequest
import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.ExceptionHandler
import org.springframework.web.bind.annotation.ResponseStatus
import org.springframework.web.bind.annotation.RestControllerAdvice
@RestControllerAdvice
class ExceptionHandler {
@ExceptionHandler(NotFoundException::class)
@ResponseStatus(HttpStatus.NOT_FOUND)
fun handleNotFound(
exception: NotFoundException,
request: HttpServletRequest
): ErrorView {
return ErrorView(
status = HttpStatus.NOT_FOUND.value(),
error = HttpStatus.NOT_FOUND.name,
message = exception.message,
path = request.servletPath
)
}
}
package br.com.projeto.exception
import java.lang.RuntimeException
class NotFoundException (message: String?) : RuntimeException(message)
E na Service:
fun deleteClass(id: Long) {
list.firstOrNull { it.id == id }?.let { list.remove(it) } ?: throw NotFoundException(ErrorMessage.RESOURCE_NOT_FOUND)
}
Postman:
O objeto está sendo criado corretamente: