【发布时间】:2015-06-02 18:34:41
【问题描述】:
我在测试 API 中的发布请求时遇到问题,我看不到错误在哪里。
这里有 API
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import test.api.models.Test;
import test.api.MediaType;
@Path("/test")
public class testResource {
@GET
public String getSomething(){
return "Ok GET";
}
@POST
@Consumes(MediaType.TEST)
public String postSomething(Test test){
System.out.println("Got: " + test);
return "Ok POST";
}
}
问题是当我从邮递员应用程序向 localhost:8080/test-api/test 发出获取请求时,我得到“Ok GET”。但是如果我做一个发布请求,我会收到 500 服务器错误。我正确设置了内容类型标题字段。 我得到的错误是:
"message": "HTTP 500 Internal Server Error",
"status": 500
这就是我发送数据的方式:
{
"a": "one",
"b": "two"
}
我认为问题可能出在 Test 类中,因为如果我将 postSomething 方法的输入参数更改为 String 类型,我会得到“Ok POST”。
这是我没有看到任何奇怪的测试类...
public class Test {
public String a;
public String b;
public Test ( String a, String b){
this.a = a;
this.b = b;
}
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
有人看到奇怪的东西吗?
谢谢。
【问题讨论】: