最新要闻
- 天天最新:dnf游戏闪退怎么解决方法_dnf游戏闪退
- 停车场闸机防骗能力太弱鸡:博主实测一部手机、一张纸均可通行
- 曾模仿东方甄选直播带货 好未来旗下学而思大规模重启线下招生
- 白皮书:购物平台为2022年度消费者投诉最多的行业
- 天天播报:315前海鲜加工厂的狠活被曝光:硼砂泡出黄金鲍 系明令禁止食品添加剂
- 世界焦点!两只售价3899元:华硕ROG推出魔方幻路由器月曜白限定版
- 环球速递!冲击全球的“硅谷银行破产”到底咋回事?会不会引爆危机?
- 视点!国产AYA新掌机Ayaneo 2 IGN9分好评:价格贵 但很好用!
- 【聚看点】央视3·15晚会官宣明晚举办 这次谁会被曝光?
- 世界最资讯丨配置大升级!新款比亚迪唐DM-i/汉EV冰川蓝实车亮相:绝对吸睛
- 上海测试9辆自动驾驶清扫车 可替代25名环卫工人
- 韩国电视台剪掉杨紫琼获奖感言:鼓励女性部分没了
- 腾讯会议重大调整!取消免费300人不限时会议使用
- 世界看热讯:斥资10亿美元!NASA将开发太空拖船:实现国际空间站受控坠落
- 那些曾被315点过名的品牌怎么样了?英菲尼迪道歉并更换变速箱 汉堡王被罚
- 实时焦点:车圈大V杨学良晒魅族20 Pro真机:极简设计 好看又好用!
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Egg.js 学习笔记01
Controller概念:解析用户输入,处理并返回响应的结果;
框架中,Controller层主要是对用户的请求的参数进行处理(校验、转换),然后调用 service 方法处理业务:
(资料图)
- 获取用户通过HTTP传递过来的请求参数
- 校验,组装参数
- 调用Service进行业务处理,必要时转换Service返回的结果以适应客户端需求
- 通过HTTP将结果响应给客户端
一个简单的Controller如下:(返回body内容而已)
const {Controller} = require("egg")class IndexController extends Controller { async index() { const {ctx} = this ctx.body = "hi, eggJs" } }module.exports = IndexController
一个稍微复杂一点的Controller 如下 目录位置:app/controller/post.js
const { Controller } = require("egg");class PostController extends Controller { async create() { const { ctx, service } = this; const createRule = { title: { type: "string" }, content: { type: "string" }, }; // 校验参数 ctx.validate(createRule); // 组装参数 const author = ctx.session.userId; const req = Object.assign(ctx.request.body, { author }); // 调用 Service 进行业务处理 const res = await service.post.create(req); ctx.body = { id: res.id }; ctx.status = 201; }}module.exports = PostController;
注意上面这个demo是不能直接运行的,ctx下的属性和方法我们并没有创建,怎么解决呢?因为Controller继承自egg.Controller,会有几个属性挂在this上分别是:this.ctx, this.app, this.service, this.config, this.logger其中 this.ctx,即请求的上下文Context,在这里就可以封装我们的属性和方法,也就是上面demo的解决方式
目录位置:app/extend/context.js
module.exports = { validate(param) { // 校验参数的方法 console.log("参数是:", param); },};
Query参数Controller是业务开发中唯一和http协议打交道的地方,所以难免遇到参数获取的问题,这里获取方式和Koa类似:在URL中?后面的部分是一个 Query String,在get请求中传递参数。如:/post?id=12&username=green,我们可以通过ctx.query拿到解析过后的参数
URL: http://127.0.0.1:7002/post?id=12&name=greenclass PostController extends Controller { async listPost() { const query = this.ctx.query //{id:"12",name:"green"} }}
注意:当客户端传递的key有重复的情况下,ctx.query只取第一次出现的值,后面重复key的值均忽略
如果设计成客户端传递相同的key,如http://127.0.0.1:7002/post?id=12&name=green&id=13&name=king,可以使用ctx.queries获取参数,参数将以数组的形式作为值存在对应的键下
{id:["12","13"],name:["green","king"]}
Params参数
在路由上,如果申明的参数,可以通过ctx.params获取
URL: http://127.0.0.1:7002/188/post?id=12&name=green&id=13&name=king路由 router.get("/:testId/post", controller.post.create);class postController extends Controller { async listApp() { console.log(this.ctx.params.testId,); // {testId: "188"} }}
关键词:
每日快讯!10Wqps 超高并发 API网关 架构演进之路
Egg.js 学习笔记01
世界快看:git提交规范
【全球速看料】早起、冥想、阅读、写作、运动
焦点讯息:观察者模式——学习笔记
天天最新:dnf游戏闪退怎么解决方法_dnf游戏闪退
停车场闸机防骗能力太弱鸡:博主实测一部手机、一张纸均可通行
曾模仿东方甄选直播带货 好未来旗下学而思大规模重启线下招生
白皮书:购物平台为2022年度消费者投诉最多的行业
天天播报:315前海鲜加工厂的狠活被曝光:硼砂泡出黄金鲍 系明令禁止食品添加剂
世界焦点!两只售价3899元:华硕ROG推出魔方幻路由器月曜白限定版
卷起来!!!看了这篇文章我才知道MySQL事务&MVCC到底是啥?
蓝牙Mesh简介(一)设备标识:UUID和Mesh地址
开源免费:分享powershell读写k8s的etcd的脚本库
环球速递!冲击全球的“硅谷银行破产”到底咋回事?会不会引爆危机?
视点!国产AYA新掌机Ayaneo 2 IGN9分好评:价格贵 但很好用!
【聚看点】央视3·15晚会官宣明晚举办 这次谁会被曝光?
世界最资讯丨配置大升级!新款比亚迪唐DM-i/汉EV冰川蓝实车亮相:绝对吸睛
上海测试9辆自动驾驶清扫车 可替代25名环卫工人
干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率、全概率与贝叶斯公式
韩国电视台剪掉杨紫琼获奖感言:鼓励女性部分没了
腾讯会议重大调整!取消免费300人不限时会议使用
世界看热讯:斥资10亿美元!NASA将开发太空拖船:实现国际空间站受控坠落
那些曾被315点过名的品牌怎么样了?英菲尼迪道歉并更换变速箱 汉堡王被罚
实时焦点:车圈大V杨学良晒魅族20 Pro真机:极简设计 好看又好用!
与微软聊天机器人对话
Vue项目迁移小程序,实操干货分享
戴尔PC要100%离开中国!完整时间表曝光:真着急
天天微资讯!韩媒称特斯拉停止与比亚迪合作 马斯克:虚假报道、双方关系积极
魔兽世界将推出全新硬核玩法:一命通关、挂了就得重来
ai文件怎么打开?ai文件用什么软件打开和编辑?
斐讯k1支持千兆吗?斐讯k1路由器怎么设置?
windows如何一键还原?windows截图保存在哪里?
声卡怎么调试?声卡什么牌子的音质比较好?
笔记本fn键在哪里?fn键怎么开启和关闭?
每日短讯:可插拔组件设计机制—SPI
今日热讯:Vim 备忘清单_开发速查表分享
世界头条:Linux进程的创建与销毁
鲨鱼求偶被误认吃“同事” 官方回应:是繁殖行为 撕咬有分寸
天天热文:减肥不吃主食?医生提醒:可致大脑功能衰退
全球热消息:《小丑2》Lady Gaga小丑女新片场照 造型太好看了
全球报道:极速直追中国高铁!碳陶瓷刹车套件特斯拉Model S Plaid打破单圈纪录
【全球报资讯】一键开盖:哈尔斯600ml水杯9.9元狂促 Tritan材质款23.9元
天天热头条丨阳高县气象台发布大风蓝色预警【Ⅳ级/一般】
全球微头条丨java操作excel文件——POI
天天讯息:剑指 Offer 68 - II. 二叉树的最近公共祖先(java解题)
分布式架构-可观测性
obs studio 插件
看热讯:小米子公司发通告:拼多多、京东、淘宝上的“紫米官旗”不是我
硅谷银行停业没影响!贾跃亭要“翻身”:4月26日FF91终极发布
世界今日讯!德国反对2035禁售燃油车!欧盟做出让步:内燃机还有活路
天天观热点:Intel要求电源厂商使用单一规格制作12VHPWR接头
马斯克减肥神药遭疯抢!欧洲药管局警告:2023年都会短缺
天天热讯:DockQuery | 基于E-R图的数据建模功能使用实践
宝马iX3高速撞车 车主:车道纠偏系统和自己抢方向盘酿事故
环球最新:公司回应因给客户倒水太满开除员工:该走啥程序走啥程序
新机型“无可奉告”:任天堂称对Switch未来充满信心
【全球速看料】史上最大规模!魅族领克无界生态发布会官宣:魅族20系列、Flyme 10来了
全球视点!一加逆袭!成为2023年销量增速最快的品牌:友商普遍下滑
共314套房源!昌平区公租房配租公告来了
焦点资讯:GO语言学习笔记-测试篇 Study for Go ! Chapter ten- Test
要闻速递:面试官:怎么删除 HashMap 中的重复元素?第 3 种实现思路,99% 的人不会!
世界快消息!k8s的Helm 工具安装
RPC框架JMH测试-chatgpt自动生成
前端设计模式——代理模式
全球视讯!特斯拉叫停与比亚迪合作?比亚迪回应:不实信息
环球即时:苹果人事巨震:11位高管扎堆离职 库克也要降薪40%
微头条丨燃油车 真凉透了吗
【天天时快讯】采用全新NT架构:新Windows端QQ首个版本将于24日发布
世界资讯:剧版打破多项纪录!爱奇艺考虑拍《狂飙》电影版 网友评论两级分化
每日看点!插件化开发详解
关注:读Java性能权威指南(第2版)笔记16_垃圾回收C
全球滚动:京东小程序CI工具实践
巧妙使用SQL Server的计算列实现项目唯一规则快速定制
天天快资讯:免费玩没戏 《暗黑4》不会加入微软XGP:四五百块还是要花的
首位华裔奥斯卡影后!杨紫琼84岁母亲喜极而泣 为女儿感到自豪
世界微资讯!Redis内存碎片深入分析
多举措提高职教吸引力 助力职业教育“强起来”“活起来”
焦点简讯:曝苹果最快2024年商用MicroLED屏:比OLED更香
今日快讯:7月1日普及!我国将全面淘汰传统后视镜 都换汽车电子后视镜:上游供应链已准备好
全球今日报丨老人捡钱不愿归还 女孩崩溃下跪引网友愤怒:律师称可起诉 专家喊话不能仗着年龄大
环球新动态:适合买二手的硬件只有4个:学会省1000元
K8S-Helm
资讯:04-数据类型
环球动态:在Linux中安装containerd作为kubernetes的容器运行时
当前通讯!“自杀式”降价杀红眼:燃油车真凉透了?
乘客出地铁黄鹤楼站的统一姿势:集体反站拍摄绝美夜景
天天动态:大爷充29万做美容反悔起诉退钱:宣称能打通“任督二脉”等
世界聚焦:硅谷银行破产:在营销号那儿 咋又成美国赢了?
从大厂离职后 游戏程序员们过得咋样?
鲍美瑶男朋友大白_鲍美瑶
即时看!第129篇:JS模块化开发
每日快播:Yus框架之nl子级管控指令
鼻炎患者要注意了!今年花粉高峰期来得猛又早:将持续数月
中消协等倡议推广小份菜、半份菜:鼓励线上点餐推出“菜量自动提醒”功能
焦点速读:《流浪地球2》上映51天票房破40亿 豆瓣评分又涨了!导演自曝第三部
AMD技术岗最高头衔!DX10/11发明人、皓龙处理器之父等升任企业院士
22-23(2)第2次线上赛
【打怪升级】【rocketMq】rocket的持久化
Linux进程与线程的基本概念及区别