koaを使って簡単なインターフェースを作り、データを得る.
8136 ワード
1.先に GET伝値 Koua中のGET伝値はrequestで受信され、二つの方法があります.queryとquerystring.
query:パラメータオブジェクトを返します.{name:‘jack’、age:12}querystring:戻るのは要求文字列です.name=jack&age=12
queryとquerystringはrequestからも取得できますし、直接ctxからも取得できます.
ポストを通して伝達された値は原生Nodeパッケージでも第三者モジュールでも受信できます.カスタムパッケージ 使用koa-bodyparserモジュール
参照リンク:https://www.jianshu.com/p/e6aec8bcdcf4
koa-router
をインストールするnpm install koa-router --save-dev
2.使用const Router = require('koa-router');
const router = new Router();
//
app.use(router.routes()).use(router.allowedMethods())
3.ルートの定義router.post('/home', async ctx => {
ctx.body = 'Hello Router';
})
router.get('/list', async ctx => {
ctx.body = 'Hello Router';
})
4.取得要求データquery:パラメータオブジェクトを返します.{name:‘jack’、age:12}querystring:戻るのは要求文字列です.name=jack&age=12
queryとquerystringはrequestからも取得できますし、直接ctxからも取得できます.
let request = ctx.request;
let query = request.query;
let querystring = request.querystring;
// ctx
ctx.query
ctx.querystring
2.POST伝値ポストを通して伝達された値は原生Nodeパッケージでも第三者モジュールでも受信できます.
const querystring = require('querystring');
module.exports = ctx => {
return new Promise((resolve, reject) => {
try {
let data = '';
// ctx.req node req
ctx.req.on('data', (chunk) => {
data += chunk;
})
ctx.req.on('end', () => {
data = querystring.parse(data);
resolve(data);
})
}
catch(err) {
reject(err);
}
})
}
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());
//
ctx.request.body
完全な例参照リンク:https://www.jianshu.com/p/e6aec8bcdcf4