Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android注释:查询参数被附加到url?_Android_Android Annotations - Fatal编程技术网

Android注释:查询参数被附加到url?

Android注释:查询参数被附加到url?,android,android-annotations,Android,Android Annotations,在RestClient接口中,这将使下面的Get @Get("/ServiceTest?version=1&dateRange={dateRange}") ResponseModel getDateRangeTest(String dateRange); 发送查询参数时是否有错误 我想这样称呼: http://localhost:8080/ServiceTest/2014-01-29%25202014-01-29?version=1" resulted in 400 (Bad Requ

在RestClient接口中,这将使下面的Get

@Get("/ServiceTest?version=1&dateRange={dateRange}")
ResponseModel getDateRangeTest(String dateRange);
发送查询参数时是否有错误

我想这样称呼:

http://localhost:8080/ServiceTest/2014-01-29%25202014-01-29?version=1" resulted in 400 (Bad Request); invoking error handler
在这种情况下,我无法使用Android注解@Get生成

回答:我的呼叫不正确,主要问题是uri编码,正确的是

/ServiceTest?version=1&dataRange=2014-01-29%25202014-01-29
你可能做错了

您的服务器获得
/ServiceTest

但您访问的服务器地址为
/ServiceTest/2014-01-29%25202014-01-29

请注意,您的服务器接收的是/ServiceTest?version=1&dateRange={dateRange} {dataRange}是您打算作为变量给出的

您的地址应该是
/ServiceTest?version=1&dataRange=2014-01-29%25202014-01-29

==编辑==

我不熟悉Android Get annotation,但是试试这个

/ServiceTest?version=1&dataRange=2014-01-29%202014-01-29
并使用
/ServiceTest?version=1&dataStart=2014-01-29&dateEnd=2014-01-29访问


请注意,我将参数更改为更具体的参数。这将是一个更好的方法。

@navdepsingh//再看看。我补充道,事实并非如此。Android Annotation是罪魁祸首。@NavdeepSingh//您是否尝试过
/ServiceTest?version=1&dataRange=2014-01-29%202014-01-29
?请参阅地址中的
%2520
%20
差异。是的,当我发送空格时,此编码URI应转换为%20,但在这里我可以看到%2520@NavdeepSingh//您可以检查链接。为什么不手动将%2520替换为%20?
@Get("/ServiceTest?version=1&dateStart={dateStart}&dateEnd={dateEnd}")
ResponseModel getDateRangeTest(String dateStart, String dateEnd);