通过模块express来写接口
express介绍
案例
解决跨域问题
- 安装cors模块
- 代码中,在所有接口之前,加载cors
使用express 搭建web服务器
const express = require('express');
const app = express();
app.get('GET请求的地址', 处理函数);
app.post('POST请求的地址', 处理函数);
app.listen(3000, () => console.log('express服务器开始工作了'));
写接口
1.下载安装所需模块 express 2.准备好相应的json文件 3.创建index.js
const express = require('express')
const app = express()
app.listen(3000, () => console.log('启动了'));
使用 nodemon index.js 启动服务
接口案例:
写一个获取市的接口 1.npm i express 2.准备文件:city.json
{"内蒙古自治区": {
"呼和浩特市": [
"新城区",
"回民区",
"玉泉区",
"赛罕区",
"土默特左旗",
"托克托县",
"和林格尔县",
"清水河县",
"武川县"
],
"包头市": [
"东河区",
"昆都仑区",
"青山区",
"石拐区",
"白云鄂博矿区",
"九原区",
"土默特右旗",
"固阳县",
"达尔罕茂明安联合旗"
],
"乌海市": [
"海勃湾区",
"海南区",
"乌达区"
],
"赤峰市": [
"红山区",
"元宝山区",
"松山区",
"阿鲁科尔沁旗",
"巴林左旗",
"巴林右旗",
"林西县",
"克什克腾旗",
"翁牛特旗",
"喀喇沁旗",
"宁城县",
"敖汉旗"
],
"通辽市": [
"科尔沁区",
"科尔沁左翼中旗",
"科尔沁左翼后旗",
"开鲁县",
"库伦旗",
"奈曼旗",
"扎鲁特旗",
"霍林郭勒市"
],
"鄂尔多斯市": [
"东胜区",
"康巴什区",
"达拉特旗",
"准格尔旗",
"鄂托克前旗",
"鄂托克旗",
"杭锦旗",
"乌审旗",
"伊金霍洛旗"
],
"呼伦贝尔市": [
"海拉尔区",
"扎赉诺尔区",
"阿荣旗",
"莫力达瓦达斡尔族自治旗",
"鄂伦春自治旗",
"鄂温克族自治旗",
"陈巴尔虎旗",
"新巴尔虎左旗",
"新巴尔虎右旗",
"满洲里市",
"牙克石市",
"扎兰屯市",
"额尔古纳市",
"根河市"
],
"巴彦淖尔市": [
"临河区",
"五原县",
"磴口县",
"乌拉特前旗",
"乌拉特中旗",
"乌拉特后旗",
"杭锦后旗"
],
"乌兰察布市": [
"集宁区",
"卓资县",
"化德县",
"商都县",
"兴和县",
"凉城县",
"察哈尔右翼前旗",
"察哈尔右翼中旗",
"察哈尔右翼后旗",
"四子王旗",
"丰镇市"
],
"兴安盟": [
"乌兰浩特市",
"阿尔山市",
"科尔沁右翼前旗",
"科尔沁右翼中旗",
"扎赉特旗",
"突泉县"
],
"锡林郭勒盟": [
"二连浩特市",
"锡林浩特市",
"阿巴嘎旗",
"苏尼特左旗",
"苏尼特右旗",
"东乌珠穆沁旗",
"西乌珠穆沁旗",
"太仆寺旗",
"镶黄旗",
"正镶白旗",
"正蓝旗",
"多伦县"
],
"阿拉善盟": [
"阿拉善左旗",
"阿拉善右旗",
"额济纳旗"
]
}},
3.创建index.js
const express = require('express')
const app = express()
let cities = require('./city.json');
app.get('/api/province', (req, res) => {
app.get('/api/city', (req, res) => {
let pname = req.query.pname;
if (pname) {
let city = [];
for (key in cities[pname]) {
city.push(key);
}
res.send(city);
} else {
res.send({code: 1, message: 'pname参数必填'})
}
});
})
app.listen(3000, () => console.log('启动了'))
4.结果
|