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

insonmia com codigo 500 apos tentativa de enviar cadastro de medicos para o banco de dados

Depois que eu faço a migration( o que deu tudo certo ) e vou no insonmia para enviar os dados do Cadastro de medico , ainda fico com o codigo 500 e dando essas mensagens no insonmia

"timestamp": "2023-09-07T21:57:24.313+00:00",
"status": 500,
"error": "Internal Server Error",
"trace": "org.springframework.dao.DataIntegrityViolationException: could not execute statement [Column 'cidade' cannot be null] [insert into medicos (crm,email,bairro,cep,cidade,complemento,logradouro,numero,uf,especialidade,nome) values (?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into medicos (crm,email,bairro,cep,cidade,complemento,logradouro,numero,uf,especialidade,nome) values (?,?,?,?,?,?,?,?,?,?,?)]; constraint [null]\r\n\tat org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:269)\r\n\tat org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:229)\r\n\tat org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:550)\r\n\tat org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)\r\n\tat org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)\r\n\tat org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n\tat org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:164)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n\tat org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:244)\r\n\tat jdk.proxy4/jdk.proxy4.$Proxy116.save(Unknown Source)\r\n\tat med.voll.api.controller.MedicoController.cadastrar(MedicoController.java:24)\r\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\r\n\tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:568)\r\n\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:756)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\r\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:391)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)\r\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:756)\r\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)\r\n\tat med.voll.api.controller.MedicoController$$SpringCGLIB$$0.cadastrar(<generated>)\r\n\tat ................
"message": "could not execute statement [Column 'cidade' cannot be null] [insert into medicos (crm,email,bairro,cep,cidade,complemento,logradouro,numero,uf,especialidade,nome) values (?,?,?,?,?,?,?,?,?,?,?)]; SQL [insert into medicos (crm,email,bairro,cep,cidade,complemento,logradouro,numero,uf,especialidade,nome) values (?,?,?,?,?,?,?,?,?,?,?)]; constraint [null]",
"path": "/medicos"

}

1 resposta
solução!

Oi!

Deu erro no atributo cidade. Verifica se ele está indo no json e se no record DadosEndereco esse campo está com o mesmo nome que no json.

Verifica também no construtor da classe Endereco se o atributo cidade está sendo preenchido.