Nodejs搭建服务器及express编写接口

不念不忘少年蓝@ 2022-04-23 00:02 558阅读 0赞

20190121222321677.png

Nodejs用http模块搭建http服务器:

  1. //引入http模块
  2. var http = require("http");
  3. var url = require('url');
  4. //设置主机名
  5. var hostName = '192.168.1.7';
  6. //设置端口
  7. var port = 8092;
  8. //创建服务
  9. var server = http.createServer(function (req, res) {
  10. var string = url.parse(req.url, true);
  11. console.log("URL:" + req.url + " " + string.pathname);
  12. res.setHeader('Access-Control-Allow-Origin', "*")
  13. res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  14. res.setHeader('Content-Type', 'text/plain');
  15. res.end("hello nodejs");
  16. });
  17. server.listen(port, hostName, function () {
  18. console.log(`服务器运行在http://${hostName}:${port}`);
  19. });

运行效果:

20190121222716514.png

用Nodejs的express搭建http服务器:

  1. var express = require('express')
  2. var bodyParser = require('body-parser');
  3. //设置主机名
  4. var hostName = '192.168.1.7';//172.50.4.113 192.168.1.130
  5. //设置端口
  6. var port = 8092;//8086
  7. var app = express();
  8. var routes = express.Router();
  9. //设置路由访问路径和静态资源目录
  10. app.use("/a", express.static('public'))
  11. app.use("/a", routes);
  12. // app.use(express.static('./'));
  13. var server = app.listen(port, hostName, (err) => {
  14. if (err) {
  15. console.log(err)
  16. } else {
  17. console.log(`服务开启成功【端口号:${port}】`)
  18. }
  19. });

用express搭建GET请求接口:

  1. /**
  2. * express建立GET接口
  3. * http://192.168.1.7:8092/a/ab?name='name12'&pwd='123'
  4. */
  5. routes.get('/ab', (req, res) => {
  6. var string = url.parse(req.url, true);
  7. //解析参数
  8. var params = url.parse(req.url, true).query;
  9. console.log(params)
  10. var user = {};
  11. user.name = params.name;
  12. user.pwd = params.pwd;
  13. var responseJson = { name: 'abc', pwd: '123' };
  14. var response = { status: 2, data: user };
  15. res.send(JSON.stringify(response));
  16. console.log("URL:" + req.url + " " + string.pathname);
  17. res.status(200).json(response);
  18. //有数据返回用res.send();
  19. //无数据返回用res.end();
  20. // res.end("hello nodejs");
  21. });

用express搭建POST请求接口:

  1. /**
  2. * express建立POST接口
  3. */
  4. routes.post('/r', (req, res) => {
  5. var string = url.parse(req.url, true);
  6. console.log("URL:" + req.url + " " + string.pathname);
  7. //解析参数
  8. var params = req.body;
  9. var user = {};
  10. user.name = params.name;
  11. user.pwd = params.pwd;
  12. var response = { status: 1, data: user };
  13. res.send(JSON.stringify(response));
  14. res.send('post:' + string.pathname + " " +
  15. JSON.stringify(text));
  16. res.end();
  17. console.log(req.method);//post
  18. console.log(req.body);//{ a: '3', b: '4', c: '5' }
  19. // console.log(req.body.a); //3
  20. // res.end("hello nodejs");
  21. });

原生GET请求:

  1. /**
  2. * 原生GET请求
  3. */
  4. function requestGet() {
  5. var http = require('http');
  6. var qs = require('querystring');
  7. // var data = {
  8. // a: 123,
  9. // time: new Date().getTime()
  10. // };//这是需要提交的数据
  11. // var content = qs.stringify(data);
  12. var options = {
  13. hostname: hostName,
  14. port: port,
  15. path: '/getList',// + content
  16. method: 'GET'
  17. };
  18. var req = http.request(options, function (res) {
  19. // console.log('STATUS: ' + res.statusCode);
  20. // console.log('HEADERS: ' + JSON.stringify(res.headers));
  21. // res.setEncoding('utf8');
  22. // alert('body:' + res.body)
  23. res.on('data', function (data) {
  24. console.log('BODY: ' + data);//返回数据
  25. alert('body:' + data)
  26. });
  27. });
  28. req.on('error', function (e) {
  29. console.log('problem with request: ' + e.message);
  30. });
  31. req.end();
  32. }

原生POST请求:

  1. /**
  2. * 原生POST请求
  3. */
  4. function requestPost() {
  5. var http = require('http');
  6. var querystring = require('querystring');
  7. var contents = querystring.stringify({
  8. name: 'nameuser',
  9. pwd: '123'
  10. });
  11. var options = {
  12. host: hostName,
  13. port: port,
  14. path: '/setList',
  15. method: 'POST',
  16. headers: {
  17. 'Content-Type': 'application/x-www-form-urlencoded',
  18. 'Content-Length': contents.length
  19. }
  20. }
  21. var req = http.request(options, function (res) {
  22. res.setEncoding('utf8');
  23. res.on('data', function (data) {
  24. console.log("data:", data);//返回数据
  25. });
  26. });
  27. req.write(contents);
  28. req.end();
  29. }

发表评论

表情:
评论列表 (有 0 条评论,558人围观)

还没有评论,来说两句吧...

相关阅读