0
我正在使用Flask-Restless创建我的API,这需要使用过滤器对象列表对查询参数进行格式化。有效查询格式如下:
/api/person?q={"filters":[{"name":"firstName","op":"like","val":"Mike"}]}
(见烧瓶不宁查询文档here)
当我使用角的$http.get
传递查询参数,它们被编码到URL,并打破该查询:
GET /api/person?q=%7B%22filters%22:%7B%22name%22:%22firstName%22,%22op%22:%22like%22,%22val%22:%22Mike%22%7D%7D HTTP/1.1"
是否可以禁用全部或部分参数的编码?
即使在串联后,服务器也会将请求显示为 GET/api/person?q =%7B%22filters%22:%7B%22name%22:%22firstName%22,%22op%22:%22like% 22,%22val%22:%22Mike%22%7D%7D HTTP/1.1“ – Josh 2014-09-21 14:05:10
@Josh:其实我错了,你不需要自己编写字符串,浏览器将查询参数编码为URI组件。 – gkalpak 2014-09-21 14:57:32
感谢@ExpertSystem,你是对的,看起来我只是犯了一个愚蠢的错误,就是在使用LIKE运算符时没有在%%包装搜索字符串。 – Josh 2014-09-21 15:09:10