成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手搭建koa2后端服務器-其他類型請求參數處理

開發 后端
前面我們已經介紹了基礎 web 框架用到的簡單功能,也完善了項目文件結構,接下來業務邏輯處理只要按照目錄用途添加對應的文件和邏輯就可以了。這章我們來看一下常用的請求參數獲取處理邏輯。

前面我們已經介紹了基礎 web 框架用到的簡單功能,也完善了項目文件結構,接下來業務邏輯處理只要按照目錄用途添加對應的文件和邏輯就可以了。這章我們來看一下常用的請求參數獲取處理邏輯。

Post 請求體

請求體參數我們在登錄和注冊接口中已經使用到了,就是 ctx.request.body 中的對象,對于表單或者 Json 都可以處理,在前端通過 Post 消息的 data 攜帶消息體即可,這里就不再做介紹了。

Get 查詢參數

在 get 請求中,我們經常使用 ?name=xxx&age=11 這種方式傳遞參數給后端,koa2 中我們可以使用 ctx.query 或者 ctx.querystring 獲取查詢參數,通常情況下我們使用 ctx.query就行了,因為它會把我們的參數處理成對象的方式,更方便使用,而且在參數驗證的處理中,我們也使用了這種方式去處理。

const validate = async <T extends Value>(
ctx: Context,
rules: Rules,
): Promise<{ data: T; error: string }> => {
const validator = new Schema(rules);
let data: any = null;
switch (ctx.method) {
case 'GET':
data = ctx.query;
break;
case 'POST':
data = ctx.request.body;
break;
......
}

......
};

但是在一些特殊情況下,例如 ?xxxxxxx 這種請求中,參數并不是鍵值對的方式,而是一串字符串,這時我們就應該采用 ctx.querystring 的方式來獲取其值。對于查詢參數,我們寫一個例子來測試一下:

增加查詢指定用戶信息接口

// src/controller/user/view.ts
class UserController {
async getUserInfo(ctx: Context) {
console.log(ctx.query);
response.success(ctx, ctx.query, '獲取用戶信息成功');
}
}

配置路由

// src/controller/user/router.ts
router.get('/getUserInfo', UserController.getUserInfo);

在瀏覽器中我們請求:

http://localhost:3300/getUserInfo?name=張三&age=12,返回消息如下

路徑參數

除了請求體參數和查詢參數外,還有一類參數—路徑參數,請求方式類似這種:/getUserInfo/123、/getUserInfo/231,參數獲取方法非常簡單:ctx.params,主要是路由定義方式有所不同,看下面的例子:

// src/controller/user/view.ts
async getUserInfo(ctx: Context) {
console.log(ctx.params);
response.success(ctx, ctx.params, '獲取用戶信息成功');
}

// src/controller/user/router.ts
router.get('/getUserInfo/:name', UserController.getUserInfo);

我們通過瀏覽器訪問:

http://localhost:3300/getUserInfo/tom,name為tom

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2010-01-20 10:44:01

linux DHCP服務器

2010-10-29 14:04:49

2011-02-22 17:42:26

2009-01-06 18:57:38

2022-05-26 07:41:24

2010-09-02 10:50:17

時間同步服務器

2021-12-02 11:39:28

Git服務器Linux

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2021-08-12 10:25:33

SVN服務器VisualSVN s

2011-03-25 12:45:49

Oracle SOA

2009-12-11 09:04:10

Windows搭建Li

2020-11-03 14:10:29

Vue服務端渲染前端

2022-01-10 11:52:46

Gitee服務器代碼

2016-10-31 14:16:33

node前后端分離koa

2018-08-06 11:04:00

2010-03-10 11:16:31

服務器DIY

2019-08-26 09:25:23

RedisJavaLinux

2020-06-17 07:35:57

虛擬機部署微服務

2010-07-06 09:43:57

搭建私有云

2010-07-06 09:38:51

搭建私有云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费成人高清 | 国产精品美女久久久久久久网站 | 日日夜夜精品免费视频 | 免费看a| 欧美一级欧美三级在线观看 | 日韩精品在线看 | 亚洲综合一区二区三区 | 国产精品一区在线观看你懂的 | 久久国产秒 | 国产高清精品一区二区三区 | xxx视频| 日日干日日操 | 九七午夜剧场福利写真 | 亚洲444eee在线观看 | www.天天操| 蜜臀久久99精品久久久久久宅男 | 天天综合国产 | 欧美一级欧美一级在线播放 | 亚洲午夜精品一区二区三区他趣 | 亚洲精品播放 | 九九九视频 | 国产精品久久久久久久久久99 | 精品一区二区在线观看 | 亚洲高清在线免费观看 | 国产精品一二三区在线观看 | 在线播放91| 精品一区二区视频 | 久久伊人精品一区二区三区 | 神马久久av | 国产亚洲一区二区三区 | 久久毛片网站 | 日韩午夜电影 | 久久一级 | 翔田千里一区二区 | 亚洲欧美在线观看 | 日韩中文字幕第一页 | 成人免费视频在线观看 | 操夜夜 | 一区二区电影 | 久久99精品久久久久久国产越南 | 九九热精品视频 |