未提取查询参数 - JAX-RS 和 Jersey

Query parameter not being extracted - JAX-RS and Jersey

我正在使用 Jersey 2.19 来实现 REST API,但是我在使用 @QueryParam 从 POST 请求中提取查询参数时遇到了困难,即使正在调用我的资源方法.

这是我的资源方法:

@POST
@Produces(MediaType.TEXT_PLAIN)
public Response test(@QueryParam("test-param") String testParam) 
{
    String response = "testParam is: " + testParam + "\n";
    return Response.status(Response.Status.OK).entity(response).build();
}

我正在使用 cURL 提交 HTTP POST 请求,如下所示:

curl -X POST http://192.168.0.2:8080/myApp/test --data test-param=Hello

返回的值始终为空。

我做错了什么?

curl 中的--data 将提供整个文本test-param=Hello。正确的请求方式是:

curl -X POST http://192.168.0.2:8080/myApp/test?test-param=Hello

尝试使用 curl -X POST '192.168.0.2:8080/myApp/test?test-param=Hello';

-d, --data

(HTTP) 将 POST 请求中的指定数据发送到 HTTP 服务器,就像浏览器在用户填写 HTML 表单并按下提交时所做的一样按钮。这将导致 curl 使用内容类型 application/x-www-form-urlencoded 将数据传递到服务器。与 -F, --form.

比较