Restangular的使用

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

// First way of creating a Restangular object. Just saying the base URL

var baseAccounts = Restangular.all('accounts');


// This will query /accounts and return a promise.

baseAccounts.getList().then(function(accounts) {

  $scope.allAccounts = accounts;

});


// Does a GET to /accounts

// Returns an empty array by default. Once a value is returned from the server

// that array is filled with those values. So you can use this in your template

$scope.accounts = Restangular.all('accounts').getList().$object;


var newAccount = {name: "Gonto's account"};


// POST /accounts

baseAccounts.post(newAccount);


// GET to http://www.google.com/ You set the URL in this case

Restangular.allUrl('googlers', 'http://www.google.com/').getList();


// GET to http://www.google.com/1 You set the URL in this case

Restangular.oneUrl('googlers', 'http://www.google.com/1').get();


// You can do RequestLess "connections" if you need as well


// Just ONE GET to /accounts/123/buildings/456

Restangular.one('accounts', 123).one('buildings', 456).get()


// Just ONE GET to /accounts/123/buildings

Restangular.one('accounts', 123).getList('buildings')


// Here we use Promises then

// GET /accounts

baseAccounts.getList().then(function (accounts) {

  // Here we can continue fetching the tree :).


  var firstAccount = accounts[0];

  // This will query /accounts/123/buildings considering 123 is the id of the firstAccount

  $scope.buildings = firstAccount.getList("buildings");


  // GET /accounts/123/places?query=param with request header: x-user:mgonto

  $scope.loggedInPlaces = firstAccount.getList("places", {query: param}, {'x-user': 'mgonto'})


  // This is a regular JS object, we can change anything we want :)

  firstAccount.name = "Gonto"


  // If we wanted to keep the original as it is, we can copy it to a new element

  var editFirstAccount = Restangular.copy(firstAccount);

  editFirstAccount.name = "New Name";



  // PUT /accounts/123. The name of this account will be changed from now on

  firstAccount.put();

  editFirstAccount.put();


  // PUT /accounts/123. Save will do POST or PUT accordingly

  firstAccount.save();


  // DELETE /accounts/123 We don't have first account anymore :(

  firstAccount.remove();


  var myBuilding = {

    name: "Gonto's Building",

    place: "Argentina"

  };


  // POST /accounts/123/buildings with MyBuilding information

  firstAccount.post("Buildings", myBuilding).then(function() {

    console.log("Object saved OK");

  }, function() {

    console.log("There was an error saving");

  });


  // GET /accounts/123/users?query=params

  firstAccount.getList("users", {query: params}).then(function(users) {

    // Instead of posting nested element, a collection can post to itself

    // POST /accounts/123/users

    users.post({userName: 'unknown'});


    // Custom methods are available now :).

    // GET /accounts/123/users/messages?param=myParam

    users.customGET("messages", {param: "myParam"})


    var firstUser = users[0];


    // GET /accounts/123/users/456. Just in case we want to update one user :)

    $scope.userFromServer = firstUser.get();


    // ALL http methods are available :)

    // HEAD /accounts/123/users/456

    firstUser.head()


  });


}, function errorCallback() {

  alert("Oops error from server :(");

})


// Second way of creating Restangular object. URL and ID :)

var account = Restangular.one("accounts", 123);


// GET /accounts/123?single=true

$scope.account = account.get({single: true});


// POST /accounts/123/messages?param=myParam with the body of name: "My Message"

account.customPOST({name: "My Message"}, "messages", {param: "myParam"}, {})


转载于:https://my.oschina.net/u/1453451/blog/504487

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题 基于物理块变化的复制,没有并行也是很快的。 逻辑复制的日志是按事务结束的时间排序的,而物理复制是与事务无关的,只要发生了改变,就可以立即传送到备库&…

mybatis学习教程中级(十)mybatis和ehcache缓存框架整合(重点)

1、前言 前面讲解了mybatis的一级、二级缓存。一级然并卵(spring整合后),二级还是有用的。我们现在来看看用ehcache来维护管理二级缓存。不要问我为什么,因为都这么用!!!java是框架语言&#x…

如何使用三态工作流 - [MOSS 2007应用日记]

MOSS 2007的一个很重要的功能就是提供了工作流,让我们可以结合工作流来实现各种需求,系统提供了几种默认的工作流供大家使用,“三态工作流”就是默认的一种。 现在通过一个模拟实验来看看怎么使用“三态工作流”:在行政部子网站下…

Linux下samba服务的错误处理

错误显示:解决方法:在/etc/samba/smb.conf 文件里有一行自己修改过hosts allow 192.168.x.x x.x.x.x在这里加上自己的充当客户端主机的ip地址即可转载于:https://blog.51cto.com/luochen2015/1693712

[POJ2420 A Star not a Tree?]

[关键字]:随机化搜索 模拟退火 [题目大意]:给出n个点,找出一个距离所有点之和最小的点,输出距离。 // [分析]:同样是随机化的方法,只是在把没个点随机移动时有小小的变动。poj1379是使用得随机一个角度x然后…

使用file做swap分区

有时候在给系统盘分区时,忘记swap分区,这种情况下,可以用一个文件做swap,效果差不多的。这里就以2Gswap分区为例。步骤:1、创建2G大小的文件dd if/dev/zero of/swap bs1M count20482、格式化swap filemkswap /swap3、把…

react和vue配置本地代理

React 在react中配置开发环境下的本地代理相对比较简单,直接在package.json文件中修改即可。 但是这样做有其局限性,如果开发中代理多个接口的时候将无法满足需求,我们需要的是下面这种的能够代理多个接口的请求方式 proxy(/back, {target: h…

php异步处理,执行系统命令

为什么80%的码农都做不了架构师?>>> 难点1:php执行系统命令,要等到命令执行完成之后才会结束,不然会造成整个php进程挂起,其他php服务僵死? 难点2:php执行的命令完成后,…

axios拦截器的实现

拦截器设计与实现 #需求分析 我们希望能对请求的发送和响应做拦截,也就是在发送请求之前和接收到响应之后做一些额外逻辑。 我们希望设计的拦截器的使用方式如下: // 添加一个请求拦截器 axios.interceptors.request.use(function (config) { // 在发送请…

What can Lines3D Class do?

好几天没来Bolg了,这几天在尝试用3D线条做一个比较优雅的线条效果。文字由3DMAX导出到AS类,其他曲线路径由TweenMax的bezier数组定义。 Preview:niuniuzhu.cn 转载于:https://www.cnblogs.com/niuniuzhu/archive/2008/07/25/1251556.html

10 个最佳的网站分析方法

一个网页设计师在设计网站的各个关键方面时,他们需要了解网站的各种必要细节,可通过市场调研或者是网站本身的统计来获取这些细节信息。 本文介绍的这些工具确实可以帮助网站进行适当和有效的分析。这里面有些是免费的工具,还有的提供非常强大…

C#表达式树浅析

一、前言 在我们日常开发中Lamba 表达式经常会使用,如List.Where(n>Name"abc") 使用起来非常的方便,代码也很简洁,总之一个字就是“爽”。在之前我们总是用硬编码的方式去实现一些底层方法,比如我要查询用户“abc”是…

下载 sdk struts java

<action name"sdkDownload" class"com.curiousby.sdkDownload"><!-- result的Type必须为stream --><result name"success" type"stream"><param name"contentType">application/octet-stream;char…

微信小程序省市区联动,自定义地区字典

最近在做一个项目的时候遇到了这么一个问题&#xff0c;就是省市区的联动呢&#xff0c;我们需要自定义字典来设置&#xff0c;那么微信小程序自带的省市区选择就不能用了&#xff0c;经过三根烟的催化&#xff0c;终于写出来了。下面献上代码示例。 首先是在utils文件夹存入ar…

论文翻译《Object-Level Ranking: Bringing Order to Web Objects》

Object-Level Ranking: Bringing Order to Web Objects Zaiqing Nie Yuanzhi Zhang Jirong Wen Weiying Ma 摘要&#xff1a; 现在的网络搜索方法实际上是做文档级排名和检索&#xff0c;与之相对比&#xff0c;我们在探索一种新的聚合体以实现在对象级的网络检索。我们搜集与某…

前端vscode常用插件

Auto Rename Tag 这是一个html标签的插件&#xff0c;可以让你修改一边标签&#xff0c;另外一边自动改变。 Beautify 格式化代码插件 Braket Pair Colorizer 给js文件中的每一个小括号()花括号{}都配上不同的颜色&#xff0c;方便找到哪一个位置多了少了括号。 Debugger for C…

在线条形码生成器

条形码又称条码、一维码&#xff0c;是将字符按照特定的规则转化成二进制后&#xff0c;描绘成一个宽度不等的多个黑条和空白&#xff0c;按照一定的编码规则排列的图形标识符&#xff0c;条形码现在应用相当广泛&#xff0c;一出门&#xff0c;随便翻一样东西&#xff0c;可能…

[JSOI2008 Prefix火星人]

[关键字]&#xff1a;splay hash 二分 [题目大意]&#xff1a;给出一个字符串&#xff0c;求出给定的两个后缀的的最长公共前缀。在求的过程中会有改变或在某个位置添加字符的操作。 // [分析]&#xff1a;一听最长公共前缀马上想到后缀数组&#xff0c;但因为是动态维护所以后…

ios学习笔记block回调的应用(一个简单的例子)

一、什么是Blocks Block是一个C级别的语法以及运行时的一个特性&#xff0c;和标准C中的函数&#xff08;函数指针&#xff09;类似&#xff0c;但是其运行需要编译器和运行时支持&#xff0c;从ios4.0开始就很好的支持Block。 二、在ios开发中&#xff0c;什么情况下使用…

vue定义global.js,挂载在vue原型上面使用

首先在src目录下创建global目录&#xff0c;在global目录下创建index.js。 export default {install(Vue) {var that this// 1. 添加全局方法或属性// ue.global this// 2. 添加全局资源// 3. 注入组件Vue.mixin({created() {this.global that}})// 大于一的整数验证&#x…