此功能仍处于实验阶段。
此方法仍在开发中,其接口和/或行为随时可能发生变化。
向正在运行的 Sails 实例发出虚拟请求。
sails.request(request);
或者
sails.request(url, body)
sails.request(url, callback)
sails.request(url, body, callback)
此方法可用于使用 sails.load()
启动且未主动侦听服务器端口上的 HTTP 请求的实例。这使得 sails.request()
适用于无需运行 sails.lift()
的测试场景。但是,需要注意的是,数据处理方式可能与 HTTP 请求不完全相同;特别是,将使用更简单的正文解析器,并且不会使用 Express 中间件(例如静态资产服务器)。
参数 | 类型 | 详情 | |
---|---|---|---|
1 | request(或 url) | 要发出的虚拟请求。如果指定为字符串,则应为包含可选方法和路径的地址,例如 /foo 或 PUT /user/friend 。如果指定为对象,则应具有下面“请求参数”部分中描述的一个或多个属性。 |
|
2 | body | (可选) 用作请求正文的 JSON 可序列化值。如果提供,此参数将覆盖 request 参数的 data 属性。 |
|
3 | callback | (可选) 用于调用虚拟响应的回调函数。 |
如果 request
参数指定为对象,则可以具有以下属性
属性 | 类型 | 示例 | 详情 |
---|---|---|---|
url | "/foo" , "PUT /user/friend" |
(必填) Sails 应用中要发出请求的路由,以及可选的 HTTP 方法前缀 | |
method | "GET" , "POST" |
(可选) 请求中使用的 HTTP 方法。这将覆盖作为 url 属性一部分提供的任何方法。 |
|
headers | {'content-type': 'application/json'} |
(可选) 虚拟请求中使用的标头字典。 | |
data | {foo:'bar'} , 12345 |
GET 、HEAD 和 DELETE 请求,数据将序列化为查询字符串并添加到 URL。否则,它将按原样作为请求正文发送。 |
参数 | 类型 | 详情 | |
---|---|---|---|
1 | err | 如果响应不成功(状态代码不在 200-399 范围内),则这将是一个包含 status 和 body 属性的对象。如果响应成功,则这将为 null 。 |
|
2 | response | 如果响应成功,则这将是一个包含完整服务器响应的对象。 | |
3 | body | 如果响应成功,则这将是 response.body 的值。 |
类型
完整的虚拟请求流对象。这是一个可读流。