从 oj.Collection 或 oj.Model 传递请求 Headers
Passing Request Headers from oj.Collection or oj.Model
请告诉我如何通过 headers,如授权等,同时从 oj.Collection API
调用 REST 端点,请帮助我
https://learncodeshare.net/2017/03/29/making-a-rest-call-from-oracle-jet/
我从上面的 link 中尝试了 "customURL",但无法得到 headers
文档中未明确提及,但您可以在调用 collection.fetch()
方法时将 headers 添加为 object 输入属性之一。
例如:
self.model = oj.Model.extend({
url: someURL,
idAttribute: 'id'
});
var myModel = new self.model();
var collection = oj.Collection.extend({
url: someURL,
model: myModel
});
self.myCollection = new collection();
return new Promise(function (resolve, reject) {
self.myCollection.fetch({
headers: headers,
success: function (collection, response, options) {
resolve(response);
}
});
};
自定义URL 是发送授权的正确位置 header。根据文档,它 returns 是一个具有多个参数的 object。第一个参数是 REST URL,第二个参数是操作类型(GET、POST 等 - 是的,JET 也支持 POST),您可以添加其他参数以传递给您的休息电话。示例如下:
returnCollection.customURL = function(operation, collection, options) {
const requestBody = { param: 'somevalue' };
return {
url: 'http://localhost:3000/api/customsearch',
type: 'POST',
contentType: 'application/json',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ...something...');
},
data: JSON.stringify(requestBody)
};
};
请告诉我如何通过 headers,如授权等,同时从 oj.Collection API
调用 REST 端点,请帮助我https://learncodeshare.net/2017/03/29/making-a-rest-call-from-oracle-jet/
我从上面的 link 中尝试了 "customURL",但无法得到 headers
文档中未明确提及,但您可以在调用 collection.fetch()
方法时将 headers 添加为 object 输入属性之一。
例如:
self.model = oj.Model.extend({
url: someURL,
idAttribute: 'id'
});
var myModel = new self.model();
var collection = oj.Collection.extend({
url: someURL,
model: myModel
});
self.myCollection = new collection();
return new Promise(function (resolve, reject) {
self.myCollection.fetch({
headers: headers,
success: function (collection, response, options) {
resolve(response);
}
});
};
自定义URL 是发送授权的正确位置 header。根据文档,它 returns 是一个具有多个参数的 object。第一个参数是 REST URL,第二个参数是操作类型(GET、POST 等 - 是的,JET 也支持 POST),您可以添加其他参数以传递给您的休息电话。示例如下:
returnCollection.customURL = function(operation, collection, options) {
const requestBody = { param: 'somevalue' };
return {
url: 'http://localhost:3000/api/customsearch',
type: 'POST',
contentType: 'application/json',
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ...something...');
},
data: JSON.stringify(requestBody)
};
};