我想模仿$httpBackend.whenGet
请求。
我可以将完整的url写成字符串,但是我不能用最后一部分来定义queryExpression:"('120' != 1 AND '106' != 5)"
来自运行的控制台的请求示例:
http://localhost:9002/api/application/datapage?dataPageType=application.group.datapage.GroupDataPageQuery&pageSize=-1&propertySelection=groupName,groupId&queryExpression=(%27120%27+!%3D+1+AND+%27106%27+!%3D+5)&startIndex=0
如果我将其作为$httpBackend.whenGET( '/api/application/datapage?dataPageType=application.group.datapage.GroupDataPageQuery&pageSize=-1&propertySelection=groupName,groupId&queryExpression=(%27120%27+!%3D+1+AND+%27106%27+!%3D+5)&startIndex=0' )
中的字符串,
我的单元测试中出现意外错误
Error: Unexpected request: GET /api/application/datapage?dataPageType=application.group.datapage.GroupDataPageQuery&pageSize=-1&propertySelection=groupName,groupId&queryExpression=('120'+!%3D+1+AND+'106'+!%3D+5)&startIndex=0
我用queryExpression
格式错误定义了这个问题。
答案 0 :(得分:0)
第一种情况是,为请求模拟完整网址并不是那么紧急,我可以在$httpBackend.whenGet
服务中使用RegExp来获取匹配参数而无需查询。
第二个是我问的问题,解决方法很简单,使用\
转义字符。
所以,结果是:
/api/application/datapage?dataPageType=application.group.datapage.GroupDataPageQuery&pageSize=-1&propertySelection=groupName,groupId&queryExpression=(\'120\'+!%3D+1+AND+\'106\'+!%3D+5)&startIndex=0