Nodejs in Visual Studio Code 03.学习Express

1.开始

下载源码:https://github.com/sayar/NodeMVA

Express组件:npm install express -g(全局安装)

2.ExpressRest

打开目录08_ExpressREST

app.js

var express = require(‘express‘);
var app = express();
//捕获GET方法,并处理返回一个Json,比C#写Json简单多了啊
app.get(‘/‘, function (req, res) {
    res.json({ message: ‘hooray! welcome to our api!‘ });
});
//侦听8080端口
app.listen(process.env.PORT || 8080);

现在项目都用html/js了,写个node几行代码搞定json restful,还带web服务器,感觉神清气爽啊!

打开CMD让项目运行起来

$ cd 08_EXPRESSREST
$ node app

3.AdvancedRESTAPI

打开目录12_AdvancedRESTAPI

app.js:初始化Express环境注册路由

routes/api.js :rest api的具体实现代码

app.js中,注册路由代码十分简单

//初始化一个api.js实例
var api = require(‘./routes/api‘);

//初始化一个express.js实例
var app = express();

//将指定url路由处理程序指向api.js文件
app.use(‘/api‘, api);

routes/api.js中对每个api后的url按GET\PUT\POST\DELETE分别处理


Resource


GET


PUT


POST


DELETE


Collection URI, such as http://api.example.com/v1/dogs/


List all the dogs


Replace all the dogs with a new collection of dogs.


Create a new dog in the collection.


Delete the entire dog collection.


Element URI, such as http://api.example.com/v1/dog/1


Get a specific dog.


Replace a dog in the collection with another dog.


Not used.


Delete the dog from the collection.

var express = require(‘express‘);
var router = express.Router();

var dogs = [
  {
    "dog_id": "0",
    "dog_name": "Ginger"
  },
  {
    "dog_id": "1",
    "dog_name": "Ruby"
  },
  {
    "dog_id": "2",
    "dog_name": "Buddy"
  }
];

/* GET all dogs */
router.get(‘/dogs/‘, function(req, res, next) {
  res.json(dogs);
});

/* PUT replace all dogs */
router.put(‘/dogs/‘, function(req, res, next) {
  console.log(req.body);
  dogs = req.body;
  res.json({"STATUS": "200 OK"});
});

/* POST create a new dog */
router.post(‘/dogs/‘, function(req, res, next) {
  dogs.push(req.body)
  res.json({"STATUS": "200 OK"});
});

/* DELETE delete the entire dog collection */
router.delete(‘/dogs/‘, function(req, res, next) {
  dogs = [];
  res.json({"STATUS": "200 OK"});
});

/* GET a specific dog */
router.get(‘/dogs/:id‘, function(req, res, next) {
  var i = 0;
  var dog = null;
  for(i = 0; i != dogs.length; i++){
    if(dogs[i].dog_id == req.params.id){
      dog = dogs[i];
      break;
    }
  }
  dog !== null ? res.json(dog) : res.json({"STATUS": "404 NOT FOUND"})
});

/* PUT replace a specific dog with another dog */
router.put(‘/dogs/:id‘, function(req, res, next) {
  var i = 0;
  var dog = null;
  for(i = 0; i != dogs.length; i++){
    if(dogs[i].dog_id == req.params.id){
      dog = dogs[i];
      break;
    }
  }
  if(dog !== null){
    dog.dog_name = req.body[‘dog_name‘]
    res.json({"STATUS": "200 OK"});
  } else {
    res.json({"STATUS": "404 NOT FOUND"});
  }
});

/* DELETE a specific dog from the collection */
router.delete(‘/dogs/:id‘, function(req, res, next) {
  var i = 0;
  for(i = 0; i != dogs.length; i++){
    if(dogs[i].dog_id == req.params.id){
      dogs.splice(i, 1);
      return res.json({"STATUS": "200 OK"});
    }
  }
  return res.json({"STATUS": "404 NOT FOUND"});
});

module.exports = router;

  

时间: 2024-10-25 07:15:33

Nodejs in Visual Studio Code 03.学习Express的相关文章

Nodejs in Visual Studio Code 07.学习Oracle

1.开始 Node.js:https://nodejs.org OracleDB: https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instwin  https://github.com/oracle/node-oracledb/blob/master/doc/api.md#resultsethandling 2.OracleDB安装 Python 2.7 下载安装即可,略 C Compiler with suppor

Nodejs in Visual Studio Code 10.IISNode

1.开始 Nodejs in Visual Studio Code 08.IIS : http://www.cnblogs.com/mengkzhaoyun/p/5410185.html 参考此篇内容,部署一个iisnode示例 2.将Node.js Express框架示例程序部署在IISNode中  创建一个Express示例程序 $ cd D:\Libraries\Documents\Visual Studio Code $ express myapp create : myapp crea

Nodejs in Visual Studio Code 04.Swig模版

1.开始 设置Node_Global:npm config set prefix "C:\Program Files\nodejs" Express组件:npm install express -g(全局安装) Express-Generator:npm install express-generator -g(全局安装) 如果没有设置global可能导致express命令在cmd里面无法执行 我接触过3个模版jade,ejs,swig,最后选择了swig jade :是express

Nodejs in Visual Studio Code 01.简单介绍Nodejs

1.开始 作者自己:开发人员,Asp.Net , html / js , restful , memcached , oracle ,windows , iis 目标读者:供自己以后回顾 2.我看Nodejs 一个运行时语言,可以使用javascript编写网站程序: 可以运行在windows和linux上,并且不需要iis或tomcat就能够独立运行: 写一些基于业务的API很方便,适合做项目: 据说可以处理高并发等等各种高能,但是我现在并不会: 3.安装Nodejs Nodejs : htt

Nodejs in Visual Studio Code 06.新建Module

1.开始 Node.js:https://nodejs.org 2.Moudle js编程中,由于大家可以直接在全局作用域中编写代码,使开发人员可以很容易的新建一个全局变量或这全局模块,这些全局变量或全局模块在工程化的开发中,极易互相冲突,同时也很难搞清楚它们之间互相的依赖关系.Node.js采用CommonJS规范来定义模块与使用模块,提供了required和module.exports来解决这个问题. required()方法,通过required方法将其他模块引用到当前作用域内. modu

Nodejs in Visual Studio Code 13.构建单页应用Scrat示例挖一挖

1.开始 Scrat作者说要搞个很碉堡的示例,果然就搞出来了,如果要学习并使用Scrat,可以从官方示例开始,简直太方便了. 2.Scrat示例 目录 component_modules : 公共组件 components : 系统级组件 server : 一些服务,不用管 views : Scrat.js,Index.html等Scrat框架内容 component.json : Scrat生态组件配置文件  fis-conf.js : FIS配置文件 package.json : Node配

Nodejs in Visual Studio Code 08.企业网与CNPM

1.开始 CNPM : https://npm.taobao.org/ 2.企业网HTTP代理上网 平时办公在一个大企业网(10.*.*.*)中,使用HTTP代理上网,发现npm命令无法执行. 解决方案如下: 1.安装并设置好Proxifier,https://www.proxifier.com Proxifier有效解决了node.exe不会找浏览器中设置的代理作为默认代理来执行的尴尬悲剧. 2.安装Shadowsocks,买个VPS,装个服务端,碰到NPM抽风的时候使用--proxy htt

Nodejs in Visual Studio Code 11.前端工程优化

1.开始 随着互联网技术的发展,企业应用里到处都是B/S设计,我有幸经历了很多项目有Asp.Net的,有Html/js的,有Silverlight的,有Flex的.很遗憾这些项目很少关注前端优化的问题,而将所有的100%的对性能关注集中于业务设计.第三方平台.数据库等方面,然而我想说只要拿出1%的精力,做一些前端优化的工作,也可以极大提升系统访问效率. 我见过一些项目加载html,js,css,xap等静态资源用了1~2秒,核心服务2~3秒,最后呕心沥血半个月仅能将核心服务优化0.5S,互联网早

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(十)-- 发布(Windows)

本篇将在这个系列演示的例子上继续记录Asp.Net Core在Windows上发布的过程. Asp.Net Core在Windows上可以采用两种运行方式.一种是自托管运行,另一种是发布到IIS托管运行. 第一部分.自托管 一.依赖.Net Core环境 修改 project.json 文件内容,增加发布时需要包含文件的配置内容 1 { 2 "version": "1.0.0-*", 3 "testRunner": "xunit&quo