1
我想從我的環迴應用程序中的第三方REST服務中獲取數據。爲了從服務中獲取數據,我需要首先使用登錄名和密碼進行身份驗證。我可以使用curl測試服務:環回:使用REST連接器發送帶有json數據的請求
curl -b cookies -c cookies -X POST -d '{"auth": {"username":"MyUser","password":"Secret"}}' 'http://api.awesome.service.com/'
這很好。 tcpdump的顯示要求這樣的:
Host: http://api.awesome.service.com/
User-Agent: curl/7.47.0
Accept: */*
Cookie: HBFAPI_SESSID=hbapi%3A197887%3A58a3028d12c36%3Anym2
Content-Length: 58
Content-Type: application/x-www-form-urlencoded
{"auth":{"username":"MyUser","password":"Secret"}}
所以,我創建數據源第一:
{
"awesome_datasource": {
"name": "awesome_datasource",
"baseURL": "https://api.awesome.service.com/",
"crud": false,
"connector": "rest",
"operations": [{
"template": {
"method": "POST",
"url": "http://api.awesome.service.com/auth",
"form":{
"auth": {
"username": "{username:string}",
"password": "{password:string}"
}
},
"json": true
},
"functions":{
"login": ["username", "password"]
}
}]
}
}
我測試了使用資源管理器。無論我做什麼,我都無法獲取格式爲json的請求主體中的數據。帶或不帶JSON的選擇結果是這個相同的,這在tcpdump的是:
host: api.awesome.service.com
content-type: application/x-www-form-urlencoded
accept: application/json
content-length: 66
Connection: close
auth%5Busername%5D=MyUser&auth%5Bpassword%5D=Secret
我試圖傳遞參數的「查詢」,「形式」或「數據」選項。還檢查了各種標題內容類型的選項,但目前還沒有運氣。
模型很簡單,沒有參數。基本模式是「模式」(無用戶,因爲我要保持它簡單越好)
我能找到這個線程,但它並沒有太大的幫助:
https://github.com/strongloop/loopback-connector-rest/pull/12
任何意見會非常感謝。
我知道關於body,query和form。我只是不知道json。謝謝。它幾乎工作,但用null替換佔位符: {「auth」:{「username」:null,「password」:null}} 我使用'body'解決了它的問題,但我必須將值傳遞爲: { 「用戶名」:..., 「密碼」:... } 這有點不舒服。 – user5926024