在 java 客户端中使用 @POST 请求发送参数

Sending parameters with a @POST request in java client

我正在通过 Maven 网络应用程序中的 JDBC 连接到 SQL 数据库。我创建了一个 restfull API.

我还有一个 java 客户端连接到我的 URI 入口点和 return 输出

如果 uri 没有参数,我可以通过客户端成功 return 数据,例如.../users/getAll

我在向服务器上的 post 方法传递参数时遇到了一些问题。

服务器代码

@POST
@Path("/NewUser")
@Produces(MediaType.APPLICATION_JSON)
public List<String> CreateUser(@HeaderParam("Name")String   name,@HeaderParam("Email")String email)
{
    if(name.equals("")||email.equals(""))
          return null;
    else return BankingService.CreateUser(name, email);
}

客户代码

     WebResource webResource = client.resource(url);

        String input = "{\"name\":tom,\"email\":\"tom@email.com\"}";

        ClientResponse response = webResource.type("application/json")
                .post(ClientResponse.class, input);

        String output = response.getEntity(String.class);
        System.out.println(output);

我可能会使用字符串输入错误地传递参数? 由于数据没有被填充到数据库/ 任何建议将不胜感激。

请尝试以下格式。

String input = "{\"name\":\"tom\",\"email\":\"tom@email.com\"}";

ClientResponse response = webResource.type("application/json")
       .post(ClientResponse.class, input);