构建简单的api service
[参看文章](https://www.robinwieruch.de/deno-oak-rest-api)
1.创建server.js 文件
import { Application } from 'https://deno.land/x/oak/mod.ts'
import router from './router.js'
const port = 8888
const app = new Application()
app.use(router.allowedMethods())
app.use(router.routes())
app.addEvenListener('listen', () => {
console.log(`Listening on ${port}`)
})
await app.listen({ port })
2. 创建router.js文件
import { Router } from 'https://deno.land/x/oak/mod.ts'
import { walkSync } from 'https://deno.land/std/fs/mod.ts'
const router = new Router()
let files = []
for (const entry of walkSync('./src/api')) {
if (entry.name !== 'index.js' && entry.name.slice(-3) === '.js') {
files.push(entry);
}
}
files.forEach(function (file) {
const servicename = file.name.split('.js')[0];
import(`./deno/${file.name}`).then((response) => {
const service = response.default;
Object.keys(service).map((key, index) => {
service[key].map((path) => {
router[key](`/${servicename}${path.url}`, path.handler);
});
});
});
});
export default router;
3.创建module api文件
export default {
get: [
{
url: '/get',
handler: (ctx) => {
ctx.response.body = 'Get api'
}
}
]
}
4.运行命令
deno run --allow-read --allow-write --allow-net --unstable ./src/server.js
最后更新于
这有帮助吗?