2013-08-01 58 views
10

Tôi thích tất cả các chức năng của Restangular cho AngularJS, ngoại trừ việc tôi không thể tìm thấy (và nó có thể không hỗ trợ) một cách để truyền một URL đầy đủ tới nó. Tôi nhận ra lợi ích của .one ('something', 'someparam') nhưng vấn đề của tôi là tôi đã chuyển các chuỗi URL khác nhau, và tôi thực sự không muốn chia() chúng chỉ để sử dụng Restangular.Sử dụng URL đầy đủ với Restangular

Ngoài ra, tôi biết về hàm baseURL; nhưng những URL này tôi đang được chuyển không nhất thiết phải xuất phát từ cùng một đường dẫn cơ sở.

Ví dụ, tôi có thể có:

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

Tất cả tôi cho là Strings ...

Trả lời

14

Tôi là tác giả của Restangular.

Bạn có 2 tùy chọn để thực hiện điều đó.

1) Tạo scoped Restangulars với BaseURLs khác nhau trong mỗi trường hợp: https://github.com/mgonto/restangular#how-to-create-a-restangular-service-with-a-different-configuration-from-the-global-one

2) Bạn có thể sử dụng nó như Restangular.all('us/en/').one('products', 1726) hoặc Restangular.one('us/en/product', 1234)

Hy vọng nó sẽ làm việc cho bạn :)

+0

Đó là những gì tôi cần. Tôi đã thử thêm URL đầy đủ như Restangular.all ('/ us/en') và nó gacked ra trên tôi. Phải là dấu gạch chéo hàng đầu. – cazzaran

+1

Bạn có nghĩ rằng sẽ hữu ích khi thêm một đối tượng địa lý cho phép người nào đó thực hiện yêu cầu một lần được cung cấp URL chuỗi để họ không phải xử lý hoặc tạo nhiều trường hợp phạm vi không? Một trong những lợi ích của tài nguyên trên $ này là nhiều trường hợp không cần thiết cho một yêu cầu duy nhất ... – cazzaran

+0

Xin chào, tôi không nghĩ nó hữu ích đến mức nào. Sử dụng nó vì nó bây giờ là khá giống như bạn có thể thấy bởi vì bạn có thể sử dụng điều này với các URL cũng :). – mgonto

11

tôi cần phải đơn giản GET url tuyệt đối và gặp phải câu hỏi này.

Đây là cách:

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

restangular#restangular-methods

+1

'routeName' làm gì ở đây? –

+0

@AlirezaMirian Tôi không có nguồn đã sử dụng trên tay, nhưng nếu tôi nhớ chính xác 'routeName' về cơ bản hoạt động như GUID cho các tuyến đường Restangular. Đối tượng được trả về từ 'Restangular.oneUrl()' không cần biết về 'routeName'. Không chắc chắn các xung đột 'routeName' được xử lý như thế nào ... – slamborne

+0

Xem ra: trong biểu mẫu này, phần tử Restangular được trả lại có một tuyến không hợp lệ, vì vậy hãy đặt() và post() sẽ không hoạt động – itghisi