我正在开发一个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