我在我的参数上收到“null”。到目前为止,我发现人们在 java 上使用“PathParams”、“FormParams”和“QueryParams”从请求中获取他们的变量,但是在我的情况下,使用 post 我没有 PathParams,并且由于某种原因 FormParams 和 QueryParams 正在返回null 就好像我从未发送过它们一样。所以我想帮助解决这个问题。
我的 php cURL POST 请求:
<?php
$url = "http://localhost:8080/TestRest/test/asd";
$params = "param1=val1¶m2=val2";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
我的 Java 网络服务:
@Path("/test")
public class Streams {
@POST
@Path("/asd")
@Produces(MediaType.TEXT_PLAIN)
@Consumes({"application/x-www-form-urlencoded"})
public String addStream(@FormParam("param1") String param1,
@FormParam("param2") String param2) {
return "param1 = "+param1;
}
}
由于某种原因 param1 为空。我究竟做错了什么?