Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
11
respostas

Erro ao agendar consulta 403

org.h2.jdbc.JdbcSQLSyntaxErrorException: Values of types "TINYINT" and "BOOLEAN" are not comparable; SQL statement: select m1_0.id,m1_0.ativo,m1_0.crm,m1_0.email,m1_0.bairro,m1_0.cep,m1_0.cidade,m1_0.complemento,m1_0.logradouro,m1_0.numero,m1_0.uf,m1_0.especialidade,m1_0.nome,m1_0.telefone from medicos m1_0 where m1_0.ativo=true and m1_0.especialidade=? and m1_0.id not in(select c1_0.medico_id from consultas c1_0 where c1_0.data=? and c1_0.motivo_cancelamento is null) order by rand() fetch first 1 rows only [90110-214]

O projeto está aqui: https://github.com/Tleofreitas/Api_Java_Alura.git

11 respostas

Oi!

Na sua query do médico aleatório livre na data altere o filtro m.ativo = true para m.ativo = 1

Realizando essa alteração o programa não compila.

Foi alterado de 1 para true por causa desta solução:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Minha versão é 3.1.

No caso usar true também não vai funcionar, pois você não está utilizando o MySQL, que foi o banco de dados utilizado no curso.

Como você utilizou o H2, a coluna ativo deveria ter sido criada como boolean na migration, mas deve ter sido criada como tinyint. Crie uma nova migration para alterar de tinyint para boolean:

alter table medicos alter column ativo boolean;

Deu certo, porém retornou 403 e não teve erro no console.

No curso anterior: https://cursos.alura.com.br/course/spring-boot-aplique-boas-praticas-proteja-api-rest/task/130894

Revisei toda essa parte. Tudo Ok. Mesmo assim dá 403. No h2, a agenda foi feita: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Dá erro 403 em qual reuquisição?

Agendar Consulta Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Estranho ele ter salvo no banco. Tenta agendar mais consultas e veja está salvando todas no banco.

Manda um print completo do Insomnia com a requisição e o erro 403.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Todas foram agendadas.

Meu projeto está em : https://github.com/Tleofreitas/Api_Java_Alura.git

solução!

O problema está no seu dto DadosDetalhamentoConsulta. Você criou como sendo uma classe ao invés de como sendo um record