express模拟接口
时间:2022-05-06
本文章向大家介绍express模拟接口,主要内容包括1、node环境安装、2、express安装、3、body-parser安装、4、demo.js、5、启动模拟接口、6、调用地址、7、本机调试问题、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1、node环境安装
2、express安装
npm install express --save
3、body-parser安装
npm install body-parser
4、demo.js
//引入express模块
var express = require('express');
//引入内部中间件,主要是解析post请求
var bodyParser = require('body-parser');
var app = express();
//设置跨域访问(这个只是测试时使用,上线的话尽量在后台处理跨域问题)
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
// 创建 application/x-www-form-urlencoded 编码解析
var parser = bodyParser.urlencoded({extended: false});
/******************************** 模拟接口 开始 ******************************************************/
//用户查询接口【不支持ContentEncoding=UTF-8】
app.post('/api/user/query', parser, function (request, response) {
console.log(request.query);
//获取URL参数
var data = request.query;
// 输出 JSON 格式
const user_query = {
"id": data.id,
"name": data.name
};
console.log(user_query);
response.json(user_query);
});
/******************************** 模拟接口 结束 ******************************************************/
var server = app.listen(9092, function () {
var host = server.address().address;
var port = server.address().port;
console.log("address: %s, port: %d", host, port);
});
5、启动模拟接口
node demo.js
6、调用地址
http://192.168.xxx.xxx:9092/api/user/query?id=user123&name=测试
7、本机调试问题
Failed to load http://192.168.xxx.xxx:9092/api/user/query?id=user123&name=%E6%B5%8B%E8%AF%95: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.xxx.xxx:8090' is therefore not allowed access.
本机前台调试因为端口不同,会报跨域的错误。可以加下面的代码测试
//设置跨域访问(这个只是测试时使用,上线的话尽量在后台处理跨域问题)
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
后台使用springMVC的@CrossOrigin注解可以解决跨域问题。
package com.yonyou.scf.demo.controller;
@RestController
@Api(value = "测试接口", description = "测试环境使用")
@CrossOrigin
public class demoController {
- 高质量代码的特征
- 完全掌握Android Data Binding
- eclipse+webservice开发实例
- tomcat 用AXIS2发布WebService 网站的方法
- JSP 中EL表达式用法详解
- CSS判断不同分辨率显示不同宽度布局CSS3技术支持IE6到IE8
- Hibernate详细教程
- TensorFlow中的多线程
- nginx 域名绑定 域名, nginx 域名绑定 端口
- Centos下Yum安装PHP5.5,5.6,7.0
- 请注意,我们要谈谈神经网络的注意机制和使用方法
- Configure Apache Virtual Hosts - CentOS 7
- centos7查看端口命令
- 为什么算法容易忘记之快速排序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 并发编程中cas的这三大问题你知道吗?
- 再也不用怕面试问二叉树了
- Redux快速上手
- CSP
- Saltstack_使用指南07_远程执行-执行模块
- 学习从拥有一支好笔开始
- Saltstack_使用指南08_远程执行-返回程序
- 人生苦短,何不用vim装13
- Saltstack_使用指南09_远程执行-编写执行模块
- 如何安装FreeIPA
- 编译及使用hive-testbench生成Hive基准测试数据
- 树酱的前端知识体系构建(下)
- Babel配置傻傻看不懂?
- Saltstack_使用指南10_配置管理-状态模块
- Saltstack_使用指南11_配置管理-状态之间依赖关系 4.1. 部署架构4.2. Apache和PHP的SLS【正向依赖】4.3. mariadb 的 SLS