http://www.cnblogs.com/wen-wen/p/6149847.html
一.创建services文件夹
services文件夹下
1.BaseService.js
class Service{
constructor(){
console.log('service的constructor');
}
add(obj, name,callback){
console.log('service的add');
}
delete(){
console.log('service的delete');
}
}
exports.service = Service;

2.UserService.js

var BaseService = require('./BaseService').service;

class UserService extends BaseService{
constructor(){
super();
}
add(obj, name,callback){
console.log(obj);
console.log(name);
console.log(callback);
console.log('UserService的add');
callback({say:'收到'});
}
delete(){
console.log('UserService的delete');
}
}
exports.service = UserService;

3.services.js
exports.userService = require('./UserService').service;

二:router路由中创建api.js
var express = require('express');
var router = express.Router();
var Services = require('../services/services');

router.get('/restful',function(req,res,next){
res.render('restful');
})

router.get('/:name?/:method?/:par?',function(req,res,next){
var name = req.params.name || 'empty';
var method = req.params.method || 'empty';
var par = req.params.par || '';

console.log(name+'Service');
var service = new Services[name+'Service']();
var obj = req.query || {};
obj.par = par;

if(!Services[name+'Service']){
service = new Services.emptyService();
}
service[method](obj,name,function(result){
//res.json(result);
res.json({id:1,name:'张三'});
});
return;
});

module.exports = router;

三:views/restful.ejs中
<html>
<head>
<script src="/javascripts/jquery-2.1.4.min.js"></script>
<script>
function dian(){
$.get('/api/user/add',function(res){
alert(res.name);
});
}
</script>
</head>
<body>
<input type='button' value='点' onclick='dian()'/>
</body>
</html>

restful用法的更多相关文章

  1. day01(RESTful Web Service、SVN)

    今日大纲 搭建SSM环境 基于SSM环境实现用户管理系统 学习RESTful Web Service 学习SVN 统一开发环境 JDK1.7 32? 64? -- 64 Eclipse 使用4.4.1 ...

  2. Restful设计思想

    1.REST的架构设计 代表性状态传输(Representational State Transfer,REST)在Web领域已经得到了广泛的接受,是基于SOAP和Web服务描述语言(Web Serv ...

  3. Rest和Restful & http

    Rest :Representational State Transfer 表述性状态转移 Restful: Rest+ful形容词,遵循Rest原则的应用程序或设计 Rest原则: 1. 网络上的所 ...

  4. 【Restful】三分钟彻底了解Restful最佳实践

    REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等 ...

  5. 【其他】【Restful】【1】简单了解Restful概念

    内容: REST是一种设计风格,不是一种标准,是一种思想.符合REST原则的架构方式即可称为RESTful. 在Restful之前的操作:http://127.0.0.1/user/query/1 G ...

  6. RestFul风格接口示例

    REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等 ...

  7. Restful对于URL的简化

    REST是英文representational state transfer(表象性状态转变)或者表述性状态转移,它是web服务的一种架构风格.使用HTTP,URI,XML,JSON,HTML等广泛流 ...

  8. RESTful源码学习笔记之RPC和Restful深入理解

    以下资料搜集自网络 0x00 RPC RPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法).通常的实现 ...

  9. 【RESTful风格】软件接口设计中RESTful风格

    REST = Representational State Transfer 表述性状态转移,是一种软甲接口设计风格.总之就是一种风格 REST基于:HTTP.HTML.JSON.XML.URI 这些 ...

随机推荐

  1. Ubuntu 16.04更换源

    Ubuntu 16.04下载软件速度有点慢,因为默认的是从国外下载软件,那就更换到国内比较好的快速更新源(就是这些软件所在的服务器),一般直接百度Ubuntu更新源就能出来一大堆,这时候最好是找和自己 ...

  2. rewrite_static

    <?php class MyObject { public static $myStaticVar = 0; function myMethod() { self::$myStaticVar + ...

  3. python spark

    http://blog.jobbole.com/86232/ 1. 安装lib 材料: spark : http://spark.apache.org/downloads.html hadoop :  ...

  4. [原创]java WEB学习笔记12:一个简单的serlet连接数据库实验

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. bzoj 2005: [Noi2010]能量采集 筛法||欧拉||莫比乌斯

    2005: [Noi2010]能量采集 Time Limit: 10 Sec  Memory Limit: 552 MB[Submit][Status][Discuss] Description 栋栋 ...

  6. Codeforces 432D Prefixes and Suffixes:KMP + dp

    题目链接:http://codeforces.com/problemset/problem/432/D 题意: 给你一个字符串s,让你找出所有既是前缀又是后缀的子串,并输出它们分别出现了多少次. 题解 ...

  7. idea中java异常

    1. Compilation failed: internal java compiler error 解决方案:File-->Setting...-->Build,Execution,D ...

  8. 是否可以重定向到 WEB-INFO 下的页面?

    redirect的路径一定不能在WEB-INF路径下,因为redirect是相当于用户直接访问了路径,而用户不能访问WEB-INF目录下的文件,只有程序内部转发的时候才能转发到WEB-INF下的JSP ...

  9. 防止未登录用户操作—struts2拦截器简单实现(转)

    原文地址:http://blog.csdn.net/zhutulang/article/details/38351629 尊重原创,请访问原地址 一般,我们的web应用都是只有在用户登录之后才允许操作 ...

  10. BLOB (binary large object)

    BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器. 在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型. BLOB是一个大文件,典型的BL ...