[我正在尝试使用包裹有Entity.json
的Plain Old Java Object打POST呼叫。我正在使用以下依赖项:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
这是我的POST功能的样子:
public String testPostCall(TestParams params) {
return target.request(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)
.post(Entity.json(params), String.class);
}
我认为问题出在Entity.json(params)
中。我得到的错误是:
javax.ws.rs.ProcessingException: No message body writer has been found for class TestParams
。
这是我的TestParams
类的样子:
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class TestParams {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
是否缺少将POJO类TestParams
转换为JSON的依赖项?还是我使用了错误的注释?我想使用一个主要用于POST调用的API。任何帮助将不胜感激!
我想出了如何从this link将POJO转换为JSON,然后使用以下代码: