Installing Express

Let's start building our new Express application by installing Express. Type the command that installs the latest version for the 4.9 branch.

npm install express@4.9

The '@' symbol to tell the npm which express version you want to install.

Locations

In our app.js, require the express module and assign it to the express variable. Using the function assigned to express, create an application instance and assign it to the app variable.

var express = require('express');
var app = express();

Using our application instance, app, create a new route that accepts GETrequests on the /locations URL path and responds with an Array of city names. The city names should be Caspiana, Indigo and Paradise.

app.get('/locations', function(request, response){
response.send(['Caspiana', 'Indigo', 'Paradise']);
});

Finally, bind our application to port 3001 and once it's ready to receive requests, print the string "Running Express" to the console.

app.listen(3001, function(){
console.log("Running Express");
});
var express = require('express');
var app = express(); app.get('/locations', function(request, response){
response.send(['Caspiana', 'Indigo', 'Paradise']);
}); app.listen(3001, function(){
console.log("Running Express");
});

Content Type I

When we run our previous code and issue a GET request to the /locations endpoint, what will the Content-Type header for the response be set to?

Answer: application/json

Content Type II

If we were to craft a response sending a string of text with the response.send()function, just like the following code, what would Express set this Content-Type to?

app.get('/locations', function(request, response) {
var cities = '<ul><li>Caspiana</li><li>Indigo</li><li>Paradise</li></ul>';
response.json(cities);
});

Answer: text/html

Cities

In order to better reflect the domain of our application, we want to change our existing route from /locations to /cities.

First, change our existing route from /locations to /cities.

Now create a new route for /locations.

Now redirect from /locations to /cities path using the Moved Permanently HTTP status code (free hint for you, the code for that is 301).

var express = require('express');
var app = express(); app.get('/cities', function (request, response) {
var cities = ['Caspiana', 'Indigo', 'Paradise'];
response.send(cities);
}); app.get('/locations', function(request, response){
response.redirect(301, '/cities');
}); app.listen(3001, function () {
console.log("Running Express");
});

最新文章

  1. ZeroMQ接口函数之 :zmq_proxy_steerable – 以STOP/RESUME/TERMINATE控制方式开启内置的ZMQ代理
  2. C# 异常捕获机制(Try Catch Finally)
  3. Java数据库——处理大数据对象
  4. jQuery取复选框值、下拉列表里面的属性值、取单选按钮的属性值、全选按钮、JSON存储、*去空格
  5. Web前端面试题集锦
  6. js轮询
  7. Debian下配置网络的方法
  8. hdwiki 数据库结构说明
  9. Hibernate之N+1问题
  10. http://www.cnblogs.com/chillsrc/category/49632.html
  11. Win软件私家珍藏-常用软件工具使用总结
  12. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
  13. ARM公布“物联网”嵌入式mbed OS系统软件平台
  14. 八、套接字(Socket)
  15. &lt;二&gt; jQuery 语法
  16. Error: opening registry key &#39;Software\JavaSoft\Java Runtime Environment&#39; Error: could not find java.dll
  17. gitlab实时备份方案(非官方命令)
  18. BZOJ 1040: [ZJOI2008]骑士 [DP 环套树]
  19. C++ 如何获取三个相同数值中的最大值或最小值?
  20. shell 查找与替换

热门文章

  1. 大数据处理-bitmap是个神马东西
  2. 指定URL,计算文件大小
  3. Linux/Unix mac 命令笔记
  4. hadoop 异常及处理总结-01(小马哥-原创)
  5. sqlite 批量插入, 重复插入(更新)
  6. JS认证Exchange
  7. Time vs Story Points Estimation [转]
  8. Styling FX Buttons with CSS
  9. C++视频课程小结(2)
  10. GC: CMS垃圾回收器一(英文版)