1.HTTP的options方法作用
- 檢測服務器所支持的請求方法。(比如:‘/user'路由支持哪些方法:get、post、delete...)
- CORS中的預檢請求(檢測某個接口是否支持跨域)
2.allowedMethods方法
- 響應options方法,告訴它所支持的請求方法
- 相應的返回405(不允許)和501(沒實現)(比如我使用delete,會返回405,因為我沒有寫這個接口。但我使用link接口請求,會返回501,因為koa里不支持link請求)
3.實現方法
const Koa = require('koa'); const Router = require('koa-router'); const app = new Koa(); const router = new Router(); const userRouter = new Router({prefix:'/user'}) router.get('/',(ctx)=>{ ctx.body = "這是主頁!" }) userRouter.get('/',(ctx)=>{ ctx.body = "這是get!" }) userRouter.post('/',(ctx)=>{ ctx.body = "這是post!" }) userRouter.get('/:id',(ctx)=>{ ctx.body = `這是${ctx.params.id}` }) app.use(router.routes())//把router注入app app.use(userRouter.routes())//把router注入app app.use(userRouter.allowedMethods())//用來相應options方法。 app.listen(3000)
這時使用options方法請求,結果如下:這個接口支持get和post方法。