gpt4 book ai didi

java - 无法调用请求(REST 调用)

转载 作者:行者123 更新时间:2023-12-01 18:28:35 26 4
gpt4 key购买 nike

我目前正在使用 Jersey/Jackson 以便从客户端到服务器进行 REST 调用。

客户端:

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/TrustBasedRecommendation/restservice/adduser");
Response responseTo = target.request().post(Entity.entity(json, MediaType.TEXT_HTML));
if (responseTo.getStatus() != 200) {
throw new Exception("Failed : HTTP error code : " + responseTo.getStatus() +" "+ responseTo.readEntity(String.class) );

服务器端 - 只是打印我的字符串的测试

@POST
@Path("/adduser")
@Consumes(MediaType.TEXT_HTML)
public Response addUser(String user)
{
System.out.println("Inside add user "+user);
String failedMessage = "failed to add user";
String successMessage = "user successfully added";

我遇到以下异常:

javax.ws.rs.ProcessingException: Unable to invoke request

Caused by: javax.ws.rs.ProcessingException: could not find writer for content-type text/html type: java.lang.String at org.jboss.resteasy.core.interception.ClientWriterInterceptorContext.throwWriterNotFoundException(ClientWriterInterceptorContext.java:40)

我正在尝试从客户端向服务器发送“字符串”(JSON)。

请帮忙。

  • R

最佳答案

我不确定您使用哪个 jar 来制作“ Jersey ”。但是每当我使用以下依赖项时我都会遇到这种问题

        <dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9.1</version>
</dependency>

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.9.1</version>
</dependency>

然后我已经转移到 Jersey 捆绑,它工作正常。

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.18.1</version>
</dependency>

你也可以尝试一下。

关于java - 无法调用请求(REST 调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25132642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com