Json не могут mapear в объекты ошибка RESTEASY003145: Unable to find в MessageBodyReader of content-type application/json

У меня есть следующая ситуация: Я создал два проекта maven, первый Апи Рестфуль, который возвращается json, второй проект java выполнимо, который тратит Апи Рестфуль. Когда я работаю с IDE (Затмение, Netbeans) и выполняю второй проект, с IDE, все чудо и функционирует без ошибок и каждого ok. Однако, когда я выполняю jar с командной строки (так оно будет функционировать в производстве), меня представляет ошибка

RESTEASY003145: Unable to find в MessageBodyReader of content-type application/json and type class com.mycompany.myapp. RespuestaDato

Чтобы тратить Api я использую framework Resteasy и я это делаю через proxy, как они это показывают в следующем путеводителе:

https://www.baeldung.com/resteasy-client-tutorial

Связи к api он встает, api отвечает за правильную форму, клиент получает ответ (из-за, что, переместив ее в string и напечатав ее из-за экрана, это делает без проблем), но не возможно обращать ее в объект.

sigiente - конфигурация моего проекта клиент

pom.xml



    4.0.0
    com.mycompany
    MyApp
    1.0.0.0
    jar
    MyApp
    
        UTF-8
        3.8.1
        3.0.0-M3
        1.8
        1.8
    
    
        
            org.jboss.resteasy
            resteasy-client
            3.0.26.Final
        
        
            org.jboss.resteasy
            resteasy-jackson-provider
            3.0.26.Final
        
    
    
        ${project.artifactId}
        src/main/java
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                ${version.compiler.plugin}
                
                    ${maven.compiler.source}
                    ${maven.compiler.target}
                
            
            
                org.apache.maven.plugins
                maven-jar-plugin
                3.1.2
            
            
                maven-clean-plugin
                3.1.0
            
            
                org.apache.maven.plugins
                maven-assembly-plugin
                3.2.0
                
                    
                        
                            true
                            com.mycompay.myapp.MainClass
                        
                    
                    
                        jar-with-dependencies
                    
                
                
                    
                        make-assembly
                        package
                        
                            single
                        
                    
                
            
            
                maven-install-plugin
                3.0.0-M1
            
        
    

Класс Model

public class DatoModel {

    private Integer idDato;
    private String dato1;
    private String dato2;
    private String dato3;

    public DatoModel() {
    }

    public DatoModel(Integer idDato, String dato1, String dato2, String dato3) {
        this.idDato = idDato;
        this.dato1 = dato1;
        this.dato2 = dato2;
        this.dato3 = dato3;
    }

//getter y setter
}

public class RespuestaDato {

    private List datos;

    public RespuestaDato() {

    }

    public RespuestaDato(List datos){
        this.datos = datoss;
    }

//getter y setter
}

Proxy

@Path("/datos")
public interface IDatoProxyClient {

    @GET
    @Path("/datos")
    @Consumes(MediaType.APPLICATION_JSON)
    RespuestaDato obtenerDatos();
}

Клиент

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target(UriBuilder.fromPath("http://localhost:8080/MyApiRest/rest"));

IDatoProxyClient proxyClient = target.proxy(IDatoProxyClient.class);
RespuestaDato respuesta = proxyClient.obtenerDatos(); //acá se genera el error

я искал, которому он смог проистекать, и не нашел решение, Благодарен Вашей помощи.

0
задан 07.11.2019, 18:33
1 ответ

Смоги быть что ты estГ© не будучи одна librerГ, - в который он знал, как конвертировать объектов JSON и JSON в объекты, и что у тебя этого не было в твоем classpath.

Пробует добавлять эту зависимость (Нужно проверять, если она versiГіn - та, в которой ты нуждаешься)

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>2.3.4.Final</version>
</dependency>
0
ответ дан 01.12.2019, 12:21
  • 1
    Большое спасибо из-за того, что отвечает @Alejandro-Giordi однако эту уже эту зависимость от pom – isaac 07.11.2019, 22:00
  • 2
    ¿ И ты производишь jar только? ¿ Как desplegá s это? Он я звучит, в который не está находя эту зависимость, которую я говорю тебе. Не está отчитываясь как делать marshalling и unmarshalling – Alejandro Giorgi 07.11.2019, 22:36
  • 3
    Если, это выполнимый jar, у него есть Ваш класс main, и будь должен присоединяться с ресурсом, делать процесс и уже. Так как в меня, который мне кажется тем же самым, но уже я удалил target, .m2 и продолжи быть равным. – isaac 08.11.2019, 04:07
  • 4
    ¿ Ты используешь maven, чтобы производить jar? ¿ Ты делаешь mvn package и потом выполняешь jar с командной строки? – Alejandro Giorgi 08.11.2019, 12:03
  • 5
    Добрый вечер, @alejandro-giorgi ответ, - если, это файл jar, чтобы выполнять, однако я комментирую, что уже я функционирую, что-то должно было быть прикрепленным или в закоулке, сначала я переслал версии книжных магазинов в 4.0 и сменил plugin assembly на одну из копии зависимостей и оно начало функционировать, после я вновь загружал книжные магазины в версию 3.0.26 и оно продолжило функционировать правильной формы. То, что это решило, он не умел бы говорить. – isaac 09.11.2019, 05:13