nodejs代码,express接口服务,如何接收参数?如何跨域?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在nodejs
的代码世界里面,express
是非常常见的提供www
服务的基础代码。很多代码都是以它作为基础的,比如create-react-app
,在本文中,苏南大叔以express
为基础,做了个简单的api
范例服务。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里介绍苏南大叔和计算机代码的故事。express
接收参数,返回数据,同时解决跨域的问题。这就是本文要解决的几个问题。测试环境:win10
,node@16.14.2
,npm@8.3.0
,express@4.18.1
,cors@2.8.5
。
安装基本代码
安装express
,安装命令如下:
npm i express --save
基本代码
var express = require("express")
var app = express();
app.get("/hi",function (req,resp) {
resp.send("hi express!");
});
app.listen(3222,function () {
console.log("server start! http://localhost:3222/ ");
});
这里开启的端口是3222
,就响应一个请求:3222/hi
。
get
接收参数响应json
这里输出json
的时候,使用
app.get("/hello", function (req, res) {
console.log(req.query); //获取get请求的参数
data = req.query;
res.send(JSON.stringify(data));
});
解析url中的参数
假如请求的链接是:
/hola?to=sunan
那么,获取to
的办法就是:req.query["to"]
。
app.get("/hola", function (req, res) {
console.log(req.query["to"]); //获取get请求的参数to
});
post
接收参数相应json
对于post
请求来说,还需要一个body-parser
来解析body
的参数。但是,body-parser
不用额外安装,应该是express
的一部分,只需要直接引用即可。
var express = require("express")
var app = express();
app.listen(3222,function () {
console.log("server start! http://localhost:3222/");
});
// 下面的代码才是重点
const bodyParser = require('body-parser')
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.post('/hola', (req, res) => {
console.log(req.body); //获取post请求体的body参数
data = req.body;
res.send(JSON.stringify(data));
})
所以,解析post
方法体内的参数的方式是(前提是开启了bodyParser
这个中间件):
req.body["参数名"]
跨域设置
这个部分看你是否有跨域的需求,如果有,就安装cors
,安装命令如下:
npm i cors --save
使用方式:
var cors = require('cors');
app.use(cors());
这样设置之后,其它被允许的网站(*
)就可以顺利照常使用对应的API
接口了。当然,这么设置的话,其实也有些问题,就是允许的网站可能过于宽泛了。所以,对这个要求比较严格的同学,可以再去看看官方文档说明:
上述文档里面,有更详细的跨域参数可以控制。由于时间限制,这里就不做更多的解释了。
相关连接
- https://newsn.net/say/graphql-express.html
- https://newsn.net/say/window-name-msg.html
- https://newsn.net/say/x-frame-options.html
- https://newsn.net/say/cors-ajax.html
- https://newsn.net/say/cors-jsonp.html
综述
在本文中,苏南大叔主要介绍的就是基于express
搭建api
服务器的基本操作,可以接收get
或者post
参数,并输出json
格式字符串。如果您需要跨域设置,也可以使用cors
。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。