免责声明:我不是J2EE开发人员。但是这段代码可以在其他地方使用,但是这个api很疯狂。
代码
@GET
@Path("GetCloseby")
@Consumes({ MediaType.TEXT_PLAIN })
@Produces({ MediaType.APPLICATION_JSON })
public CServiceCenters getList(@QueryParam("latitude") Double latitude,
@QueryParam("longitude") Double longitude) {
log.info("GetCloseby searching for lat "
+ latitude + " lng " + longitude);
GetCloseby搜索lat 17.63 lng null
来自客户
curl http://:8080 / MYWAR / MYAPI / GetCloseby?latitude = 17.63& longitude = 73.9
答案 0 :(得分:2)
免责声明:我不是一个大的cURL用户,所以我不知道所有的细微差别,以及为什么这样做。这可能是一个shell问题。
要使其正常工作,我必须在网址
周围添加引号"
curl "http://:8080/MYWAR/MYAPI/GetCloseby?latitude=17.63&longitude=73.9"
注意:我也试图逃避&
(没有引号),但我会在服务器上获得URISyntaxExeption。
答案 1 :(得分:1)
&
字符需要进行转义,它在shell中具有特殊含义。你可以这样做:"abc&def"
或像这样:abc\&def
。如果您尝试后者:此查询中可能还有其他特殊字符,因此要么使用第一个变体,要么必须将shell识别的所有字符转义为特殊字符。
试一试:
echo abc&def
这基本上意味着:
echo abc
(https://unix.stackexchange.com/q/86247),打印字符串“abc”def
(这可能只会导致错误,因为它不存在)