当前位置:   article > 正文

nodejs封装api

nodejs封装api

安装了nodeJs

执行:

  1. 安装淘宝镜像
  2. npm install -g cnpm --registry=https://registry.npm.taobao.org
  3. 安装 yarn(我使用这个,淘宝镜像总是莫名其妙各种bug。。。)
  4. npm install yarn -g
  5. 接着项目中执行:
  6. yarn add express --save
  7. yarn add body-parser --save
  8. yarn add supervisor --save

 api.js(服务)

  1. var express = require('express');
  2. var app = express();
  3. var bodyParser = require('body-parser');
  4. var supervisor = require('supervisor');
  5. //引用bodyParser
  6. app.use(bodyParser.json()); // for parsing application/json
  7. app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
  8. //设置跨域请求
  9. app.all('*', function(req, res, next) {
  10. res.header("Access-Control-Allow-Credentials", true);
  11. res.header("Access-Control-Allow-Origin", "*");
  12. res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
  13. res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
  14. res.header("X-Powered-By", ' 3.2.1');
  15. res.header("Content-Type", "application/json;charset=utf-8");
  16. next();
  17. });
  18. var questions = [{
  19. name: 'xiaoming',
  20. age: 41
  21. },
  22. {
  23. name: 'lihua',
  24. age: 99
  25. }
  26. ];
  27. //写个接口
  28. app.get('/api/user', function(req, res) {
  29. res.status(200),
  30. res.json(questions)
  31. });
  32. app.post('/api/delete', function(req, res) {
  33. res.json(req.body);
  34. })
  35. //配置服务端口
  36. const port = 8888;
  37. app.listen(port, () => {
  38. console.log('Express server listening on port ' + port);
  39. });

进入api.js所在的目录下,执行下面的命令运行服务,一定要运行服务,不然使用api就会连接失败:

node api.js

热更新: 正常运行node api.js时,如果你更新了接口信息,那么要重新运行一次node api.js,不然刷新页面也渲染不到新的数据,为了解决这个问题,可以用supervisor进行热更新:

在项目中安装了supervisor后,

再进行全局安装一次(可以外部全局装):

yarn add supervisor -g

接着,运行服务时,用 进入api.js所在的根目录下,执行 supervisor app.js,这样就可以做到热更新了

 最后如何调用新建立的两个接口?

http://localhost:8888/api/userinfo?age=1

http://localhost:8888/api/delete

 我使用的是axios

可以在项目中执行以下命令:

yarn  add axios --save

 然后执行下面的代码就可以了(记得导入axios再使用):

 

  1. axios({
  2. method: 'GET',
  3. url: 'http://localhost:8888/api/user',
  4. params:{age:1},
  5. dataType: 'json'
  6. }).then(res => {
  7. console.log(res);
  8. }).catch(err => {
  9. })
  10. //post请求
  11. axios({
  12. method: 'post',
  13. url: 'http://localhost:8888/api/delete',
  14. data: {
  15. name: 'lihua',
  16. age: '45'
  17. }
  18. }).then(res => {
  19. console.log(res);
  20. }).catch(err => {
  21. });

运行项目,查看浏览器,可以看到接口已经被调用,也能看到我们所写进去的数据:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/69058
推荐阅读
相关标签
  

闽ICP备14008679号