太原网站制作_太原网站建设_太原做网站_秘密武器开发者中心
历史搜索

06.Egg.js教程

游客2024-11-30 07:30:01
目录文章目录
  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,并使用两种方式向后端传递数据。

标签:egg.js

本文是由用户"游客"发布,所有内容的版权归原作者所有。没有经过书面许可,任何单位或个人不得以任何形式复制、转载、引用本网站的内容。否则将追究法律责任。

相关专题