Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ForEach não é reconhecido como método no intelij

Estou fazendo os tratamentos de erros da minha API, porém a IDE não está reconhecendo o forEach como método. eu tento dar um Alt+Enter e me retorna que é preciso atualizar as bibliotecas Maven. Será que é por que estou usando o InteliJ Comunity Edition??

codigo em questão:

@ExceptionHandler(MethodArgumentNotValidException::class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    fun handleValidationError(
        exception: MethodArgumentNotValidException,
        request: HttpServletRequest
    ): ErrorView {
        val errorMessage = HashMap <String, String?>()
        exception.bindingResult.fieldError.forEach{
            e -> errorMessage.put(e.field, e.defaultMessage)
        }
        return ErrorView(
            status = HttpStatus.BAD_REQUEST.value(),
            error = HttpStatus.BAD_REQUEST.name,
            message = errorMessage.toString(),
            path = request.servletPath
        )
    }```
    
    ![Imagem da  solução recomendada pela IDE](https://cdn1.gnarususercontent.com.br/1/6488172/f4319b32-770b-42ad-bb0f-d8754b7c4b14.png)
    
    estou mantendo o repositório do github atualizado, porém ele se encontra privado. (https://github.com/LuizP2/ForumAPI)
1 resposta
solução!

Encontrei a solução!!

val errorMessage = HashMap <String, String?>() exception.bindingResult.fieldError.forEach{ e -> errorMessage.put(e.field, e.defaultMessage) }

o erro aconteceu por conta de um simples "s" no fieldError, o certo era "fieldErrors"