接收修改字符串参数的端点方法



我正在开发一个Appengine连接的android应用程序。我有一个端点方法searchBook(String bookName),定义如下:

@ApiMethod(name = "searchBook")
public List<Book> searchBook(@Named("bookName") String bookName) {
    //Codes for searching book by setting filter for the received book name
}

我从客户端应用程序调用这个方法为:

 endoint.searchBook("test book 2").execute();

我的问题是端点方法中收到的字符串是"test%20book%202",这不是原始字符串,而是单词之间的一些附加字符。为什么会发生这种情况?

不知道为什么要添加它。可能,您可以解码接收到的字符串,以删除%20等URL编码相关符号。

String newString = java.net.URLDecoder.decode( bookName, "UTF-8")
http://docs.oracle.com/javase/6/docs/api/java/net/URLDecoder.html

http://icfun.blogspot.in/2009/08/java-urlencode-and-urldecode-options.html

最新更新