为什么一个HTTP GET请求检索所需数据而另一个检索[]

时间:2016-01-11 13:56:02

标签: mongodb rest http get ng-admin

我目前正在使用ng-admin。

我在从REST API(连接到MongoDB)检索用户数据并显示它时遇到问题。

我已将问题确定如下:

当我在浏览器中输入http://localhost:3000/users时,我会得到数据库中所有用户的列表。

当我输入http://localhost:3000/users?_page=1&_perPage=30&_sortDir=DESC&_sortField=id时, 我得到了[]

我对此很陌生,我使用浏览器和POSTMAN Chrome扩展程序来测试它并得到相同的结果。

2 个答案:

答案 0 :(得分:0)

http://localhost:3000/users_end=30&_order=DESC&_sort=id&_start=0

/users_end)与/users的请求不同。

应该是:

http://localhost:3000/users?end=30&_order=DESC&_sort=id&_start=0

或者,通过查看其他参数:

http://localhost:3000/users?_end=30&_order=DESC&_sort=id&_start=0

end_end是第一个参数(标记为?)。

更新(它是?在_之前,我已编辑过。):

如果向请求添加参数会返回一个空列表,请尝试一次只添加一个以缩小问题范围(这些参数的使用可能存在错误 - 您确定需要这些下划线吗? )。

答案 1 :(得分:0)

您的REST API必须有办法处理分页,排序和过滤。但是ng-admin无法确切地确定如何,因为REST是一种风格而不是标准。因此,ng-admin会默认假设您的API如何执行此操作,这就是为什么它会添加这些_end_sort查询参数。

为了将这些参数转换为API理解的参数,您必须添加一个拦截器。这些都在ng-admin文档中进行了详细说明:http://ng-admin-book.marmelab.com/doc/API-mapping.html