私は私のプロジェクトで Restangular を使用しており、以前はこのコードはオブジェクトの配列を取得するためにうまく機能しました:
_var params = {name: "Stack", surname: "Overflow"}
var service = Restangular.all('users')
service.getList(params)
_
サーバーからの応答は、単なるオブジェクトの配列でした。
_[
{...},
{...}
]
_
しかし、今度はページネーションを追加しました。応答には配列ではなく、配列を含むオブジェクトが含まれています。
_{
totalCount: 500,
data: [
{...},
{...}
]
}
_
また、service.getList(params)
をservice.get(params)
に変更しました(getList
は配列のみを想定しているため)。
そして、この変更後、私のGETパラメータは文字列化されません。つまり、次のようなデバッガリクエストに表示されます。
_users/[object%20Object]
_
しかし、以前(getList
メソッドを使用した場合)は、期待どおりに機能しました。
_users?name=Stack&surname=Overflow
_
ここでの問題は何ですか?
私はこれを使用してそれを解決することができました:
var params = {name: "Stack", surname: "Overflow"}
var service = Restangular.all('users')
service.customGET("", params) // first parameter is required, so just provide empty string
one()およびget(params)を使用するだけです。
var params = {name: "Stack", surname: "Overflow"};
var service = Restangular.one('users');
service.get(params).then(function(response) {
console.log(response);
})
customGETLIST
メソッドを使用できます。これを見てください:
// https://myapi.com/users?name=Stack&surname=Overflow
Restangular.all('users').customGETLIST('', {
name: "Stack",
surname: "Overflow"
}).then(function (response) {
console.log(response);
});
customGETLIST(path、[params、headers]):特定のパスへのGETを実行します。この場合、単一の要素ではなく、配列を取得する必要があります。オプションで、パラメータとヘッダーを設定できます。
ドキュメント: [〜#〜] here [〜#〜]
幸運を!!