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