Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Esta ocorrendo um internal server error ao tentar salvar um livro

Dados Enviado:

{titulo: "Livro A", preco: 250, autorId: 6152}

O erro retornado é:

{"timestamp":1538594061726,"status":500,"error":"Internal Server Error","exception":"javax.validation.ConstraintViolationException","message":"Validation failed for classes [br.com.caelum.cdcreact.models.Livro] during persist time for groups [javax.validation.groups.Default, ]\nList of constraint violations:[\n\tConstraintViolationImpl{interpolatedMessage='may not be null', propertyPath=autor, rootBeanClass=class br.com.caelum.cdcreact.models.Livro, messageTemplate='{javax.validation.constraints.NotNull.message}'}\n]","path":"/api/livros"}

Desde já agradeço a atenção. Abraços!

4 respostas

Estranho esse erro, é como se o servidor não estivesse identificado o título no livro e estivesse vindo como null.

Me mostra o código do post Lucas?

Basicamente eu inicio o state do meu component:

        this.state = {
            listAuthors: [],
            book: {titulo: '', preco: '', autorId: ''}
        };

e no post eu enviou:

    postBook(event) {
        event.preventDefault();
        $.ajax({
            url: API_URL_BOOK,
            contentType:'application/json',
            dataType: 'json',
            type: 'post',
            data: JSON.stringify(this.state.book),
            success: res => console.log(res),
            error: error => console.log(error)
        });
    }
solução!

Galera achei meu erro kkkk, é um buuurrroo da 0 pra mim xD

Em vez de listar os autores no select box, eu estava listando os livros, ai neste caso não estava fazendo o link corretamente com o id do autor.

Obrigado Wanderson!

Boa Lucas, fica tranquilo, isso acontece as vezes :)

Que bom que resolveu, bons estudos!