热搜:fiddler git ip 代理 ios
历史搜索

05.Egg.js教程

游客2024-11-29 12:33:01
目录文章目录
  1. Get 请求的特点
  2. 自由传参模式
  3. 严格传参模式
  4. 严格传参中的多参数传递

Get 请求的特点

通过 URL 来访问一个地址,比如http://127.0.0.1:7001,这种请求方式就是 Get 请求。Get 请求也是我们最常用的请求方式。包括现在的扫码请求,其实也是变相的 Get 请求。

  • 优点:使用简单,清晰有条例。适合网站和对外 App 的使用。
  • 缺点:传递参数是有大小限制,安全性较差,不能完成重要数据的传递。

既有优点,又有缺点,所以就要根据具体的使用情况,而选择使用哪种请求方式。

自由传参模式

Get 请求我个人把它分为两种传参模式,一种是自由传参模式。这种传参模式和最早的传参模式相同。传递的参数个数和名称没有具体明确定义,设置不限制你是否传递参数。使用起来非常的灵活,所以就叫做自由传参模式。

下面写一个符合资源传参的Controller方法。打开/app/controller/mybj.js文件,重新编写一个getGirl()的方法。

async getGirl(){
    const {ctx} = this;
    ctx.body = ctx.query;
}

这里的ctx.query就是获得传递的参数。写完后还需要到router.js文件下,增加路由后才可以访问。

打开/app/router.js文件。

router.get('/getGirl', controller.mybj.getGirl);

你通过浏览器访问,URL 为[http://127.0.0.1:7001/getGirl?name=小红](http://127.0.0.1:7001/getGirl?name=%E5%B0%8F%E7%BA%A2),这时候页面就会显示传你传递的参数。

那如何体现自由呢,首先你可以不传递参数,只是页面什么都不显示了,只显示一个{ }。还可以传递多个参数,比如传递名字为小红,年龄为 20 岁, 页面就会完全的显示出来。

http://127.0.0.1:7001/getGirl?name=小红&age=20

05.Egg.js教程 1

严格传参中的多参数传递

会了严格传参之后,再来看一下在严格模式下如何传递多个参数,比如我们再传递一个年龄=20 岁.

路由配置页面就可以这样设置。

router.get('/getGirl2/:name/:age', controller.mybj.getGirl2);

然后再修改对应的getGirl2()方法,接受到姓名和年龄后,显示出来。这里就是完全动态的显示了。

async getGirl2(){
    const {ctx} = this;
    let name = ctx.params.name;
    let age = ctx.params.age;
    ctx.body='大哥你好,我是'+name+',今年'+age+'岁.欢迎光临红浪漫!';
}

这样的应用是不是越来越好了呢?现在程序就支持传递多个参数了。

总结:这篇文章,我们主要学习了 Egg.js 中的 Get 请求和传参方式,Get 传参分为自由传参模式和严格传参模式。个人建议如果想让程序健壮性更强,可以多使用严格传参模式。

标签:egg.js