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

目录
文章目录隐藏
  1. 编写 POST 请求的 Controller 方法
  2. REST Client 插件的使用
  3. 安全设置解除
  4. 接收 POST 参数
  5. 总结

编写 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抓紧创作!

微信微信 支付宝支付宝

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 06.Egg.js教程-POST请求和参数的接收

发表回复