api restful中post请求的服务器内部错误

api restful中post请求的服务器内部错误,api,rest,postman,Api,Rest,Postman,我正在测试的API restful中的post请求有问题,我看不出错误在哪里 这里是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 {

我正在测试的API restful中的post请求有问题,我看不出错误在哪里

这里是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";
    }

}
问题是,当我从postman应用程序向localhost:8080/testAPI/test发出get请求时,我得到了“Ok get”。但如果我做一个post请求,我会得到500个服务器错误。我正确设置了内容类型标题字段。 我得到的错误是:

"message": "HTTP 500 Internal Server Error",
"status": 500
这就是我发送数据的方式:

{
  "a": "one",
  "b": "two"
}
我认为问题可能出在Test类中,因为如果我将postSomething方法的输入参数更改为字符串类型,就会得到“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;
    }

}
有人看到奇怪的东西吗


谢谢。

问题可能是帖子数据,可能是您必须对帖子数据进行url编码。 尝试以下post数据,它是url编码的

%7B%22a%22%3A%20%22one%22%2C%22b%22%3A%20%22two%22%7D
或者,您可以尝试对自己的数据进行编码