此功能仍在實驗階段。
此方法仍在開發中,其介面和/或行為可能隨時變更。
向正在運行的 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 請求不完全相同;特別是,將採用更簡單的 body parser,並且不會使用 Express 中介軟體,例如靜態資源伺服器。
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | request (或 url) | 要發出的虛擬請求。如果指定為字串,則應為包含可選方法和路徑的位址,例如 /foo 或 PUT /user/friend 。如果指定為物件,則應具有以下「request 參數」章節中描述的一個或多個屬性。 |
|
2 | body | (可選) 要用作請求 body 的 JSON 可序列化值。如果提供 request 參數,此參數將覆蓋其 data 屬性。 |
|
3 | callback | (可選) 要使用虛擬回應調用的 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。否則,它將按原樣作為請求 body 發送。 |
參數 | 類型 | 詳細資訊 | |
---|---|---|---|
1 | err | 如果回應不成功(狀態碼不在 200-399 範圍內),這將是一個包含 status 和 body 屬性的物件。如果回應成功,則為 null 。 |
|
2 | response | 如果回應成功,這將是一個包含完整伺服器回應的物件。 | |
3 | body | 如果回應成功,這將是 response.body 的值。 |
類型
完整的虛擬請求流物件。這是一個可讀流。