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

Ao realizar a requisicao http://localhost:8080/bitcoins

Ao realizar a requisição da listagem dos bitcoins estou recebendo o seguinte erro no meu prompt de comando, dei uma pesquisada no google e uma das soluções que encontrei foi adicionar outra dependência, porém mesmo adicionando ainda estou sem sucesso.

2021-01-25 20:10:56,577 ERROR [org.jbo.res.res.i18n] (executor-thread-1) RESTEASY002010: Failed to execute: javax.ws.rs.NotSupportedException: RESTEASY003200: Could not find message body reader for type: class model.Bitcoin of content type: /

11 respostas

Yuri, boa noite. Você pode colocar o código da classe Bitcoin e da classe controller aqui?

package model;

import java.time.LocalDate;

public class Bitcoin {

private Long id;
private Double preco;
private String tipo;
private LocalDate data;

}


package resource;

import java.util.List;

import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType;

import org.eclipse.microprofile.rest.client.inject.RestClient;

import model.Bitcoin; import service.BitcoinService;

@Path("/bitcoins") public class BitcoinResource {

@Inject
@RestClient
BitcoinService bitcoinService;

@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Bitcoin> listar(Bitcoin bitcoin) {
    return bitcoinService.listar();
}

}

E o seu service?

package service;

import java.util.List;

import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType;

import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;

import model.Bitcoin;

@Path("/bitcoins") @RegisterRestClient public interface BitcoinService {

@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Bitcoin> listar();

}

Você declarou as configurações no application.properties?

Sim..

service.BitcoinService/mp-rest/url=https://alura-bitcoin.herokuapp.com/bitcoins

No seu model tem os getters e setters?

Tem sim

Oi João, encontrei o problema, no meu Resource no método listar eu estava passando parâmetros, ao retirar funcionar. Porém estou com outro problema kkk..

Ao fazer a requisição recebo esse retorno no json: {"timestamp":"2021-01-26T19:12:28.054+00:00","status":401,"error":"Unauthorized","message":"","path":"/bitcoins/bitcoins"}

No meu application.properties é essa url: https://alura-bitcoin.herokuapp.com/bitcoins

Se eu acessar ela pelo browser dar certo, não me pede senha nem usuario, mas pela aplicação solicita;

solução!

Yuri, acabei de perceber aqui. No seu application.properties você definiu o service.BitcoinService/mp-rest/url=https://alura-bitcoin.herokuapp.com/bitcoins, mas na verdade não é aqui que você informa o /bitcoins, pois você já informou no service com a anotação @Path("bitcoins"). Alterando o seu application.properties para service.BitcoinService/mp-rest/url=https://alura-bitcoin.herokuapp.com/ deve funcionar =)

Deu certo! Obrigada!