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方法。
