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

AI 概述
编写 POST 请求的 Controller 方法REST Client 插件的使用安装方法和发送请求安全设置解除接收 POST 参数总结 编写 POST 请求的 Controller 方法 直接在/app/controller/mybj.js文件里,重新编写一个add()方法。先写个最简单的,只要能用 POST 方法访问到就可以了。 async add(){ const {ctx} = t...
目录
文章目录隐藏
  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,并使用两种方式向后端传递数据。

以上关于06.Egg.js教程-POST请求和参数的接收的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

0

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

微信微信 支付宝支付宝

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

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 06.Egg.js教程-POST请求和参数的接收

发表回复