机器人论坛
直播中

罗宗保

7年用户 236经验值
私信 关注
[问答]

一文知道后端接口开发json,jsonp,restful

json、jsonp
/** * 后台接口开发 * json接口 * jsonp接口(解决跨域问题) * restful接口 */const express = require('express');const db = require('./db');const app = express();//指定api路径allBooks//JSON接口//调用:http://localhost:3000/allBook// app.get('/allBook',(req,res)=>{//     let sql = 'select * from book';//     

回帖(1)

黄思

2020-11-4 11:16:38
db.base(sql,null,(result)=>{//         res.json(result);//     });// });//JSONP接口//调用:http://localhost:3000/allBook?callback=foo// app.get('/allBook',(req,res)=>{//     let sql = 'select * from book';//     db.base(sql,null,(result)=>{//         res.jsonp(result);//     });// });//JSONP修改callback//调用:http://localhost:3000/allBook?cb=fooapp.set('jsonp callback name', 'cb')app.get('/allBook',(req,res)=>{    let sql = 'select * from book';    db.base(sql,null,(result)=>{        res.jsonp(result);    });});app.listen(3000,()=>{    console.log('服务启动……');});
restful
/** * restful api 是从URL的格式来表述的 * get      http://localhost:3000/books * get      http://localhost:3000/books/book * post     http://localhost:3000/books/book * get      http://localhost:3000/books/book/1 * put      http://localhost:3000/books/book * delete   http://localhost:3000/books/book/2 *  * *  * 传统的URL风格 * http://localhost:3000 * http://localhost:3000/toAddBook * http://localhost:3000/addBook * http://localhost:3000/toEditBook?id=1 * http://localhost:3000/editBook * http://localhost:3000/deleteBook?id=2 *  */const express = require('express');const app = express();const db = require('./db');//查询全部app.get('/books',(req,res)=>{    let sql = 'select * from book';    db.base(sql,null,(result)=>{        res.json(result);    });});//查询指定//http://localhost:3000/books/book/1app.get('/books/book/:id',(req,res)=>{    let id = req.params.id;    let sql = 'select * from book where id =?';    let data = [id];    db.base(sql,data,(result)=>{        res.json(result);    });});app.listen(3000,()=>{    console.log('服务启动……');});
db.js
/*    封装通用数据库通用api */const mysql = require('mysql');/** * * @param sql * @param data * @param callback */exports.base = (sql, data, callback) => {    /*        操作数据库基本步骤     */    //创建数据库连接    const connection = mysql.createConnection({        host: 'localhost',  //数据库所在的服务器的域名或者IP地址        user: 'root',//用户名        password: 'admin',//密码        database: 'book', //数据库        port: '4406'  //端口号    });//执行连接操作    connection.connect();//操作数据库    connection.query(sql, data, function (error, results, fields) {        if (error) throw error;        callback(results);    });//关闭数据库    connection.end();}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分