https://www.npmjs.com/
//引入类 const Koa = require('koa'); const Router =require('koa-router') //引入内部方法或属性 //const{方法或属性名} =require('koa'); //创建对象 const app = new Koa(); const router =new Router(); // response app.use(async (ctx,next) => { ctx.body = 'hello koa'; next(); //继续执行下一步操作 }); router.get("/",async (ctx)=>{ // url参数 ctx console.log(ctx.url); console.log(ctx.query); // console.log(ctx.querystring); }) // ===============post // postman 测试post接口 router.post("/a", async ctx=>{ console.log(ctx.url); console.log(ctx.body); }) // 调用router.routes()来组装匹配好的路由,返回一个合并好的中间件 // 调用router.allowedMethods()获得一个中间件,当发送了不符合的请求时,会返回 `405 Method Not Allowed` 或 `501 Not Implemented` // app.use(router.routes()); // app.use(router.allowedMethods({ // // throw: true, // 抛出错误,代替设置响应头状态 // // notImplemented: () => '不支持当前请求所需要的功能', // // methodNotAllowed: () => '不支持的请求方式' // })); app.use(router.routes()).use(router.allowedMethods()); // localhost:3000 app.listen(3000,()=>{ console.log("http://localhost:3000") });
mongodb服务错误配置修改:
//引入类 const Koa = require('koa'); const Router =require('koa-router') //引入内部方法或属性 //const{方法或属性名} =require('koa'); //创建对象 const app = new Koa(); const router =new Router(); // response app.use(async (ctx,next) => { ctx.body = 'hello koa'; next(); //继续执行下一步操作 }); router.get("/",async (ctx)=>{ // url参数 ctx console.log(ctx.url); console.log(ctx.query); // console.log(ctx.querystring); }) // 调用router.routes()来组装匹配好的路由,返回一个合并好的中间件 // 调用router.allowedMethods()获得一个中间件,当发送了不符合的请求时,会返回 `405 Method Not Allowed` 或 `501 Not Implemented` // app.use(router.routes()); // app.use(router.allowedMethods({ // // throw: true, // 抛出错误,代替设置响应头状态 // // notImplemented: () => '不支持当前请求所需要的功能', // // methodNotAllowed: () => '不支持的请求方式' // })); app.use(router.routes()).use(router.allowedMethods()); // localhost:3000 app.listen(3000,()=>{ console.log("http://localhost:3000") });
html页面:
这个id:00是手动在页面url里面传的参数 和url(根目录,/)
get和post:
router.get("/",async (ctx)=>{ // url参数 ctx console.log(ctx.url); console.log(ctx.query); // console.log(ctx.querystring); }) // ===============post // postman 测试post接口 router.post("/a", async ctx=>{ console.log(ctx.url); console.log(ctx.body); })
koa-body(post请求):
引用前,先引用koa-body包
//引入类 const Koa = require('koa'); const Router =require('koa-router'); const koaBody = require('koa-body'); //引入内部方法或属性 //const{方法或属性名} =require('koa'); //创建对象 const app = new Koa(); const router =new Router(); // response app.use(koaBody()); // app.use(async (ctx,next) => { // ctx.body = 'Hello Koa'; // next(); // }); router.get("/",async ctx=>{ // url 参数 console.log(ctx.url); console.log(ctx.query); // console.log(ctx.querystring) }) // postman router.post("/a",async ctx=>{ console.log(ctx.url); console.log(ctx.request.body); ctx.body = "请求成功"; }) // 调用router.routes()来组装匹配好的路由,返回一个合并好的中间件 // 调用router.allowedMethods()获得一个中间件,当发送了不符合的请求时,会返回 `405 Method Not Allowed` 或 `501 Not Implemented` app.use(router.routes()); app.use(router.allowedMethods({ // throw: true, // 抛出错误,代替设置响应头状态 // notImplemented: () => '不支持当前请求所需要的功能', // methodNotAllowed: () => '不支持的请求方式' })); // localhost:3000 app.listen(3000,()=>{ console.log("http://localhost:3000"); });
测试页面:text.http
POST http://localhost:3000/a HTTP/1.1 Content-Type: application/json # content # id=1000&name=张三 { "id":1000, "name":"张三" }
运行结果: