日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
手把手搭建koa2后端服務(wù)器-其他類型請(qǐng)求參數(shù)處理

Post 請(qǐng)求體

請(qǐng)求體參數(shù)我們?cè)诘卿浐妥?cè)接口中已經(jīng)使用到了,就是 ctx.request.body 中的對(duì)象,對(duì)于表單或者 Json 都可以處理,在前端通過(guò) Post 消息的 data 攜帶消息體即可,這里就不再做介紹了。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè),為客戶提供做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。

Get 查詢參數(shù)

在 get 請(qǐng)求中,我們經(jīng)常使用 ?name=xxx&age=11 這種方式傳遞參數(shù)給后端,koa2 中我們可以使用 ctx.query 或者 ctx.querystring 獲取查詢參數(shù),通常情況下我們使用 ctx.query就行了,因?yàn)樗鼤?huì)把我們的參數(shù)處理成對(duì)象的方式,更方便使用,而且在參數(shù)驗(yàn)證的處理中,我們也使用了這種方式去處理。

const validate = async (
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 這種請(qǐng)求中,參數(shù)并不是鍵值對(duì)的方式,而是一串字符串,這時(shí)我們就應(yīng)該采用 ctx.querystring 的方式來(lái)獲取其值。對(duì)于查詢參數(shù),我們寫一個(gè)例子來(lái)測(cè)試一下:

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

// 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);

在瀏覽器中我們請(qǐng)求:

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

路徑參數(shù)

除了請(qǐng)求體參數(shù)和查詢參數(shù)外,還有一類參數(shù)—路徑參數(shù),請(qǐng)求方式類似這種:/getUserInfo/123、/getUserInfo/231,參數(shù)獲取方法非常簡(jiǎn)單: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);

我們通過(guò)瀏覽器訪問(wèn):

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


當(dāng)前標(biāo)題:手把手搭建koa2后端服務(wù)器-其他類型請(qǐng)求參數(shù)處理
網(wǎng)頁(yè)網(wǎng)址:http://m.5511xx.com/article/djdpehp.html