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

localhost:8080 não funciona

Oi eu rodei o comando:

java -jar cdcreact-1.0.0-SNAPSHOT.jar

no diretório de 'cdc-admin' ele roda, mas não aparece nada no 'localhost:8080/api/livros'

O localhost:8080 não tá rodando.

Outra coisa:

Como faço pra fazer requisições do tipo "POST" para o localhost:3000. Ou seja, a habilidade de alterar o arquivo json, inserir dados nele. Como por exemplo:

Quando eu botei os arquivos 'autores.json', e 'livros.json' na página da aplicação, eu consegui acessá-los através do ajax, mas não consegui modificá-los, usando "POST" no method.

Eu recebo erro status 404, ou seja 'page not found'

Se eu coloco o endereço de onde está o json no localhost:3000, ele aparece, só no ajax method post é que ele não acha a página ou arquivo json.

Não consigo fazer method POST, (enviar dados) no localhost:3000

Estou fazendo ajax com jquery.

22 respostas

Fala aí Marcelo, tudo bem? Bom, vamos lá:

no diretório de 'cdc-admin' ele roda, mas não aparece nada no 'localhost:8080/api/livros'

Qual retorno você tem do comando? Verifica se tudo subiu corretamente, se sim, provavelmente o banco de dados deve estar vázio, sendo assim não vai mostrar registros.

Como faço pra fazer requisições do tipo "POST" para o localhost:3000. Ou seja, a habilidade de alterar o arquivo json, inserir dados nele.

Depende, por onde você quer/esta fazendo a requisição? Quer testar a API e fazer requisição através de um Postman ou Insomnia, ou está usando linha de comando com o curl, ou quer fazer a aplicação enviar a requisição?

Fico no aguardo.

Não roda localhost:8080, nao conecta.

Eu executei o jar na pasta 'cdc-admin', então depois eu tentei me conectar com localhost:8080/api/livros ou localhost:8080/api/autores, mas não consegui

Eu gostaria de fazer ajax jquery post pra adicionar autores no localhost:3000/api/autores.json. Através da aplicação. Eu copiei o JSON online do herokuapp, pra autores.json e livros.json, e coloquei os arquivos dentro da pasta 'public', dentro da pasta 'api' da minha aplicação React.

Eu tentei usar no jquery ajax a url "localhost:3000/api/autores.json" usando o método post, e recebi 'page-not-found' error code 404.

Então, não consigo rodar localhost:8080, usando o java, e nem uma alternativa, usando o localhost:3000 do node do app react.

Marcelo, boa tarde!

Quando você roda o comando:

java -jar cdcreact-1.0.0-SNAPSHOT.jar

Ele está subindo o servidor? Você pode verificar comparando se as duas últimas linha estão iguais a esse: https://gist.github.com/DevCapu/25748622db6213c4d28a0219d73c4e85

Eu acredito que você esteja com problemas porque a API não subiu corretamente, isso é algo que ocorre com frequência nesse curso. Esse outro tópico pode te ajudar:

https://cursos.alura.com.br/forum/topico-problema-com-o-jar-aplicacao-autores-nao-sobe-84277

Caso ainda encontre problemas, mande aqui! Aguardo sua resposta! Bons estudos!

Quando eu rodo a linha de comando, no final do processo eu recebo isso: at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ... 22 more

Depois tentando acessar localhost:8080, diz que não é possível acessar o site.

Fala Marcelo, tudo bem? Então, os passos que você está dando com o jQuery não vai rolar mesmo.

Para popular o banco existe N maneiras, dado o seu cenário, acho que o melhor exemplo é você criar um arquivo JavaScript, importar o JSON nele, e fazer uma interação em cada item e a cada iteração você pega os valores desse objeto e faz um POST para a API.

Outro detalhe, copia o log completo, esse que você mandou deve estar faltando informação mais relevante sobre o erro.

Espero ter ajudado.

Aqui está o texto após rodar o java.

https://gist.githubusercontent.com/mzep/d3117d68b18a82413710716d80e6db55/raw/23f86e059082e86b68c181087937704e502904cc/gistfile1.txt

Como eu poderia trabalhar com ajax e JSON usando o localhost:3000?

Qual a versão do seu Java? Do seu MySQL? Provavelmente acredito ser diferentes das usadas durante o instrutor no curso.

Espero ter ajudado.

java version "1.8.0_211"

mysql Ver 8.0.16 for Win64 on x86_64 (MySQL Community Server - GPL)

Precisava desse servidor rodando, pois os dados online fornecidos nem sempre estão disponíveis.

Fala aí Marcelo, talvez o problema seja a versão do MySQL, está muito atualizado comparada a do curso, sendo assim, a API pode não estar preparada para rodar em uma versão muito nova.

Sugiro você instalar e utilizar a versão 5.56 durante o curso, provavelmente os problemas vão se resolver.

Espero ter ajudado.

Só consigo baixar a versão 5.6.

Você teria um link da versão 5.56 com instalador pra baixar?

Oi. Acabei de achar vou instalar e testar obrigado

Pra instalar uma versão mais velha do mysql, eu preciso remover a mais nova? Não tem uma solução mais fácil?

Eu desinstalei um monte de coisa relacionado ao mysql.

Instalei o servidor 5.56 e continua não funcionando.

Não posso utilizar o localhost:3000 para lidar com JSON no servidor? Se sim, como posso proceder?

Eu instalei a versão 5.56 e ainda não funciona.

Será que não poderia usar o localhost:3000 pra receber e enviar JSON?

Se sim, como eu procedo?

Marcelo, boa tarde!

Desculpa pelo informação errada, a versão usada no curso é a 5.7

Você pode ver a versão com o comando mysql -v. O retorno é parecido com isso:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 103
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)

https://dev.mysql.com/downloads/mysql/

Observe que a opção padrão para Download é a 8.0 altere para 5.7

Desinstale a versão atual que estiver na sua máquina e instale a versão baixada (para facilitar me avise se colocou uma senha).

Por fim, rode o jar com o comando:

java -jar -Dspring.datasource.password=SuaSenha -Dspring.datasource.username=seuUsuario cdcreact-1.0.0-SNAPSHOT.jar

Coloque sua senha e seu usuário no comando acima (o usuário por padrão é: root e a senha é vazia, mas só irá ser vazia se você não tiver definido na hora da instalação)

Sabendo que você está passando por esse problema, podemos fazer uma call se você achar necessário e eu te ajudo

Eu vou tentar sozinho. Te informo se consegui subir o servidor

Gostaria de saber também.. como faço pra montar um ambiente do tipo cliente e servidor, para que eu possa estar usando AJAX com get e post lidando com JSON.

E como poderia montar tudo e colocar online?

Obrigado.

Marcelo, boa tarde!

Você pode usar a linguagem de sua preferencia no backend como Node por exemplo. E desenvolver esse sistemas que recebe as requisições. Se você tiver dúvidas de como desenvolver o curso de Node 1 já ira te dar uma ótima base, ou faça um curso da linguagem que mais lhe agrade.

Depois da aplicação backend e do front estarem pronta, para colocar online você pode usar o Heroku.

Infelizmente não temos um curso aqui na Alura, mas existem ótimos tutoriais no Youtube como:

Espero ter ajudado e bons estudos!

Consigo acessar o localhost:8080, porém os dados JSON estão vazios, tanto em autores como em livros.

Acessando URL "localhost:8080/api/autores" e a URL "localhost:8080/api/livros" recebo apenas isso:

"[]"

solução!

Marcelo, boa tarde!

Está correto, os dados serão preenchidos conforme você cria no formulário e vai adicionando. Acredito que agora vai dar para continuar o curso normalmente!

Mas se tiver qualquer problema estamos aqui para ajudar!

Se tudo estiver correto não esqueça de marcar como solução, assim seu tópico pode ajudar mais alunos!

Estranho não ter funciona com a versão 5.56, foi a que eu usei para fazer o curso, sendo assim, eu não iria ser uma "informação errada".

Mas, fico feliz que o problema tenha resolvido.

Sempre que precisar não deixe de criar suas dúvidas.