2013-08-01 9 views
10

AngularJSのRestangularのすべての機能が好きですが、完全なURLを渡すだけの方法は見つけられません。 .one( 'something'、 'someparam')の利点を理解していますが、私の問題はさまざまなURL文字列が渡されていて、Restangularを使うために分割する必要がないということです。完全なURLをRestangleで使用する

また、私はbaseURL関数について知っています。私が渡されているこれらのURLは、必ずしも同じ基本パスから派生するわけではありません。

例えば、私が持っているかもしれません:

/us/en/product/17726 
/us/es/products 
/us/es/product/991A0 
/ca/en/accounts 

私が与えられてる全てが文字列です...

答えて

14

私はRestangularの生みの親です。

これには2つの選択肢があります。

1)それぞれのケースで異なるBaseURLsとスコープRestangularsの作成:https://github.com/mgonto/restangular#how-to-create-a-restangular-service-with-a-different-configuration-from-the-global-one

2)Restangular.all('us/en/').one('products', 1726)またはRestangular.one('us/en/product', 1234)

が、それはあなたのために働くホープのようにあなたがそれを使用することができます:)

+0

はここに方法です。私はRestangular.all( '/ us/en')のような完全なURLを追加しようとしました。その先導的なスラッシュだったはずです。 – cazzaran

+1

文字列のURLを指定して誰かがワンオフリクエストをして処理する必要がないようにする機能や、複数のスコープ付きインスタンスを作成する機能を追加すると便利でしょうか?これ以上の$リソースの利点の1つは、複数のインスタンスが1回のリクエストでは必要ないということです。 – cazzaran

+0

ねえ、私はどれくらい役立つだろうとは思わない。これを使用すると、あなたはURLと同様にこれを使うことができるので、あなたが見ることができるのと非常に似ています:)。 – mgonto

11

私は単純にするために必要なGET絶対URLとこの質問に出くわしました。私は必要なものだそれ

Restangular.oneUrl('routeName', 'http://absolute.url').get();

restangular#restangular-methods

+1

'routeName'はここで何をしますか? –

+0

@AlirezaMirian私はこれを使っていたソースを持っていませんが、正しく覚えていれば、本質的にRestartルートのGUIDとして動作します。 'Restangular.oneUrl()'から返されるオブジェクトは 'routeName'について知る必要はありません。 'routeName'の競合がどのように処理されるのか分かりません... – slamborne

+0

注意:返されたRestangular要素に無効なルートがあるため、put()とpost()は機能しません。 – itghisi

関連する問題