06.Egg.js教程-POST请求和参数的接收

编写POST请求的Controller方法

直接在/app/controller/mybj.js文件里,重新编写一个add()方法。先写个最简单的,只要能用POST方法访问到就可以了。

async add(){
    const {ctx} = this;
    ctx.body="add";
}

然后配置路由/app/router.js文件。

router.post('/add', controller.mybj.add);

这时候就可以进行POST请求了,但是POST请求不是通过浏览器访问页面就可以访问到的,所以我们还需要用到VSCode插件。

REST Client 插件的使用

你可以使用Postman这样的工具,但Postman需要重新打开一个软件,显得太重了,一点也不优雅。所以我这里推荐使用VSCode中的一个插件REST Client

安装方法和发送请求

直接打开VSCode中的插件管理,在搜索框查找REST Client,然后进行安装。安装完成后直接可以使用。

在项目根目录下,新建一个test.http(这个名字可以随意起,但是文件后缀名字不能变) , 此处注意后缀是http才可以和插件进行联动。

POST http://127.0.0.1:7001/add 
Content-Type: application/x-www-form-urlencoded

name=mybj

你也可以使用JSON的格式进行上传。

POST http://127.0.0.1:7001/add  
Content-Type: application/json

{
    "name":"小红"
}

需要注意的是,这个插件你需要完全按照这个格式来写,不能随意多出空行,否则就会发送失败。得不到数据。

安全设置解除

当你第一次请求时,可能会返回403错误,这是因为Egg.js默认开启了CSRF安全策略,学习阶段,我们可以关闭掉这个选项。

CSRF的全名为 Cross-site request forgery, 它的中文名为 伪造跨站请求。

关闭方法是,打开/config/config/default.js文件,也就是项目的默认配置文件。

然后设置配置项,关闭掉CSRF

config.security = {
    csrf :{
      enable:false,
    }
}

写完这段配置代码后,CSRF安全策略就被关闭了。我们就可以发送请求了。

接收POST参数

能发送POST请求后,需要在服务端接收请求。Egg.js已经给我们封装好了,直接使用ctx.request.body来获取。

代码如下:

async add(){
    const ctx = this.ctx
    ctx.body={
      status: 200,
      data:ctx.request.body
    }
}

写完代码后,再用REST Client来发送请求就可以得到返回的参数了。

总结

本文我们主要学的事Egg.js中的POST请求和参数接收方法,还学习了用于发送请求的VSCode插件REST Client,并使用两种方式向后端传递数据。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 06.Egg.js教程-POST请求和参数的接收

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们