我不知道该怎么办才能修好它。访问localhost:8080/pets/findByStatusLocal时,将返回以下错误。
误差
错误id 9175b683-f00f-4a8d-9246-a30eb0f8865f-5,javax.ws.rs.ProcessingException: RESTEASY003145:无法找到内容类型应用程序/json和类型接口java.util.List的MessageBodyReader
Pet.java
package org.test;
public class Pet {
private Long id;
private String name;
public Pet() {
this(null, null);
}
public Pet(Long id, String name) {
this.id = id;
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}application.properties
org.test.PetService/mp-rest/url=https://petstore.swagger.io/v2/
org.test.PetService/mp-rest/scope=javax.inject.SingletonPetService.java
package org.test;
import java.util.List;
import java.util.concurrent.CompletionStage;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
@Path("/pet")
@RegisterRestClient
public interface PetService {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("findByStatus")
public List<Pet> findByStatus(@QueryParam("status") String status);
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("findByStatus")
public CompletionStage<List<Pet>> findByStatusAsync(@QueryParam("status") String status);
}PetResource.java
package org.test;
import java.util.List;
import java.util.concurrent.CompletionStage;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.eclipse.microprofile.rest.client.inject.RestClient;
@Path("/pets")
public class PetResource {
@Inject
@RestClient
PetService petService;
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("findByStatusLocal")
public List<Pet> methodname(@QueryParam("status") String status) {
return petService.findByStatus(status);
}
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("findByStatusLocalAsync")
public CompletionStage<List<Pet>> async(@QueryParam("status") String status) {
return petService.findByStatusAsync(status);
}
}是源代码中的错误,还是项目配置中的错误?非常感谢
*我作了更正- pom.xml:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client-jackson</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
</dependency>发布于 2022-09-08 07:10:33
您需要quarkus-resteasy-reactive-jackson来写入(和读取) JSON对象。或者,您也可以使用-jsonb扩展。然而,在这种情况下,我强烈推荐Jackson,因为它提供了更多的功能。
因此,在pom.xml文件中添加:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-reactive-jackson</artifactId>
</dependency>https://stackoverflow.com/questions/73615556
复制相似问题