天天看點

express 路由比對和資料擷取

express配置路由隻需要通過<code>app.method(url,func)</code>來配置,其中url配置和其中的參數擷取方法不同

直接寫全路徑

路由中允許存在<code>.</code>

get請求傳入的參數

通過<code>/home?a=1</code>會收到對象:<code>{a:1}</code>

post請求傳入的參數

加上<code>:XX</code>比對,如下

如果有兩個相同的命名,後面的會覆寫前面的,如

<code>/a/123/b/456</code>會得到<code>{id:456}</code>

這種比對還能通過<code>. -</code>兩種符号來拆分比對,如

<code>/a-bb/123.0</code>會得到<code>{"id":"a","name":"bb","pwd":"123","end":"0"}</code>

通過正規表達式,如下

該路由收到<code>/aaa /bb</code>都會傳回

在這裡<code>*</code>與正則的不同 相當于<code>.*</code> 應該用<code>{0,}</code>來代替<code>*</code> 而<code>.</code>會被判斷為字元是以不能用來比對

在需要多個正則比對路徑,要先命名,并且正則一定要寫在括号内,如下

<code>http://localhost:3000/aaa/99/other</code>能得到結果<code>{"name":"aaa","id":"99"}</code>

直接寫正則

隻需要路徑能比對上正則就行,同時因為是整個路徑比對,是以不要用<code>^</code>來判斷前置字元

以上路由能用<code>/aa /a/b/c/aabv/s</code>來比對

同一個路由用不同方法響應可以用<code>route</code>來鍊式響應,如

現在<code>get post</code>請求都能分别比對到路由

繼續閱讀