我有一个这种格式的RESTful Web服务:
/users?age={age}
根据定义,无论我是否添加年龄参数,Web服务都有效。所以这两个例子都是正确的:
/users
或
/users?age=18
放大器的请求定义:
amplify.request.define( "usersService", "ajax", {
url: "/users",
type: "GET",
data: {age : "{age}"}
});
有效的调用:
var myAge = 18;
amplify.request("usersService", {age : myAge});
结果是:
GET /users?age=18
Response code: 200 OK
不起作用的调用:
var myAge = null;
amplify.request("usersService", {age : myAge});
结果是:
GET /users?age=
Response code: 400 BAD REQUEST
未定义年龄时我期待的正确结果是:
GET/users
Response code: 200 OK
知道如何使这个例子有效吗?
提前致谢。 问候 Neuquino
答案 0 :(得分:0)
尝试:
amplify.request(“usersService”,{});
amplify.request( “usersService”);
答案 1 :(得分:0)
解决方案不是在request.define中定义“data”,而是在调用中添加或不添加age属性。
var input = null;
if(myAge != null){
input.age = myAge
}
amplify.request("usersService",input);
amplify.request.define( "usersService", "ajax", {
url: "/users",
type: "GET",
});
输入在正文中合并,因此如果为空,则不发送任何内容。