Erro Java Spring boot "Could not send request" -- postman

7 respostas
springmysqljavaprogramação
G

fiz uma Api do Spring boot em Java mas quando rodo a aplicação, é iniciado na porta 8090,mas quando envio no postman ou no Insomnia aparece o erro “Could not send request” e “Couldn’t connect to server”
Respectivamente

LINK DO MEU GITHUB:GitHub - Gustavopomp/TestesUnitarios

7 Respostas

J

Você não configurou nenhuma porta custom no application.properties, a porta padrão é 8080.

Sua classe principal, a que contem o método main, deve ficar no pacote raiz, todas as outras classes precisam estar hierarquicamente abaixo dela para que a anotação @ComponentScan contida no @SpringBootApplication funcione e consiga gerenciar todos os beans configurados, ou, você pode configurar manualmente um @ComponentScan fornecendo todos os pacotes que precisam ser varridos pelo framework para gestão dos beans.

G

Olá…tudo bem eu arrumei esse problema mas agora esta dando um erro:
“required a bean of type ‘gusystem.api.service.service.UserService’ that could not be found”

LINK DO MEU GITHUB: GitHub - Gustavopomp/TestesUnitarios

J

O erro diz que não encontrou um bean do tipo UserService, justamente porquê você não explicitou que sua implementação é um bean válido para o spring!

Anote a sua classe UserServiceImpl com @Service.

G

Prometo que essa é a ultima kkk
Com o config eu salvo dois usuários no repositorio,com o debug o service busca os atributos mas na hora do return volta nulo não sei o porque.

J

Precisaria entender como você está salvando os usuários e a forma de como está tentando buscá-los para ter uma ideia do que pode estar ocorrendo…

G

Eu uso o config para salvar os usuários no repositório desse jeito:

<a class="mention" href="/u/bean">@Bean</a>

public void StartDB() {

User u1 = new User(null, “gustavo”, “<a href="http://gustavoferrazpompeogmail.com" rel="noopener nofollow ugc">gustavoferrazpompeogmail.com</a>”, “123”);

User u2 = new User(null, luiz, <a href="http://luizgmail.com" rel="noopener nofollow ugc">luizgmail.com</a>, 321);
repository.saveAll(List.of(u1,u2));
}

O config é ativado e salvo no repositorio,com o service eu criei um metodo FindById e salvei desse jeito:

Override

public User FindById(Integer id) {

Optional obj = repository.findById(id);

return obj.get();

}

com o Debug,eu percebi que o obj recebe as informações de acordo com o config,mas na hora do retorno volta nulo:

GetMapping(value = /{id}”)

public ResponseEntity findById(PathVariable Integer id) {

return ResponseEntity.ok().body(service.FindById(id));

}
J

Testei seu código aqui e aparentemente está funcionando normalmente, acredito que talvez você esteja fazendo a requisição de forma incorreta, por isso está recebendo nulo como resposta!

Log da aplicação inicializando e fazendo os 2 inserts no H2.

Hibernate: 
    insert 
    into
        user
        (id, email, name, password) 
    values
        (null, ?, ?, ?)
Hibernate: 
    insert 
    into
        user
        (id, email, name, password) 
    values
        (null, ?, ?, ?)
2023-11-09 12:01:45.615  WARN 30677 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2023-11-09 12:01:45.760  INFO 30677 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8090 (http) with context path ''
2023-11-09 12:01:45.765  INFO 30677 --- [           main] gusystem.api.GuApiApplication            : Started GuApiApplication in 1.834 seconds (JVM running for 2.132)
2023-11-09 12:03:45.338  INFO 30677 --- [nio-8090-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-11-09 12:03:45.338  INFO 30677 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-11-09 12:03:45.340  INFO 30677 --- [nio-8090-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

Request sendo feita para recuperar os 2 registros cadastrados anteriormente:

$ curl -v -X GET "http://localhost:8090/user/1"
*   Trying 127.0.0.1:8090...
* Connected to localhost (127.0.0.1) port 8090 (#0)
> GET /user/1 HTTP/1.1
> Host: localhost:8090
> User-Agent: curl/8.1.2
> Accept: */*
> 
< HTTP/1.1 200 
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Thu, 09 Nov 2023 15:03:45 GMT
< 
* Connection #0 to host localhost left intact
{"id":1,"name":"gustavo","email":"[email removido]","password":"123"}%                                                                                                                                                                                             



$ curl -v -X GET "http://localhost:8090/user/2"
*   Trying 127.0.0.1:8090...
* Connected to localhost (127.0.0.1) port 8090 (#0)
> GET /user/2 HTTP/1.1
> Host: localhost:8090
> User-Agent: curl/8.1.2
> Accept: */*
> 
< HTTP/1.1 200 
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Thu, 09 Nov 2023 15:03:51 GMT
< 
* Connection #0 to host localhost left intact
{"id":2,"name":"luiz","email":"[email removido]","password":"321"}%

Em ambas requests buscando pelos Ids 1 e 2 obtive a resposta normalmente!

Criado 23 de outubro de 2023
Ultima resposta 9 de nov. de 2023
Respostas 7
Participantes 2