koa-router中路由/后面不填參數就會報404的解決辦法


koa-router 中使用路由參數時會遇到一個問題,就是像下面的代碼在沒有傳入 id 是會報 404 錯誤

router.get('/:id', (err, ctx, next) => {
   // write your code; 
});

默認情況下這就是 path variable 參數模式

如果想要 id 這個參數傳入做一件事,不傳 id 也可以運行並且去做另一件事的話

此時就需要使用  query parameter 參數模式,即 (/:id?)即可,如下:

router.get('/:id?', (err, ctx, next) => {
   // write your code; 
});

這樣子就可以根據傳入 id 去做某些事,不傳 id 去做另一些事情了,是不是很爽呢!

傳入多個參數是也一樣:

不輸入時

當輸入一個參數時

輸入兩個參數試試

再來三個!,不信玩不壞你!!!

額。。。你贏了 koa-router,不對!你雖然可以傳任意多個參數,但是我現在要間隔者傳參數,我要傳第一個和第三個參數,或者直接傳第二個參數,你行不行了呢?我覺得你不行!

嗯... 口說不行,直接來代碼吧!

還是剛才那個路由:

這次直接傳第二個參數,id 那個就不傳了,直接到 name 值看看

 

 嘿嘿嘿,(●´∀`●),不行了吧!看來我贏了啊,回頭記得請我吃飯哦,不然我可不陪你玩了!

什么,請不起我吃飯!要不要這樣啊,那么多人陪你玩就沒有幾個捐一點給你嗎?

好啦好啦,不逗你了,這樣吧,給你降低點難度,你要是在我只輸入空格的情況下能給我返回數據我就免了你這頓飯了

看看你行不行啊:

請告訴我,這個。。。干嘛要把我的空格給變成 %20 了,不好看啊,就一個空格不好嗎?

算了算了,不和你計較了,總之你欠我一頓飯,就這么說定了,等我把代碼寫完就來找你哈,你可別跑了啊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM