koa-router路由使用

 前言:最新要基于nodejs写rpc接口,顺带熟悉一些koa框架的router功能。

一、搭建框架

koa官方文档:

https://koa.nodejs.cn/ (2.14)

 

 

使用教程

get示例:

https://chenshenhai.github.io/koa2-note/note/route/koa-router.html

 

post示例:

https://juejin.cn/post/6920445522729762824

 

版本管理等

https://juejin.cn/post/7006874471877804062

 

 

二、使用

1,获取参数,三种方式
console.log(ctx.params, ctx.request.params);
 
(1)在URL路由中/tick/:tick中的:tick
ctx.params或ctx.request.params
得到一个对象
 
(2)在URL ?a=b
ctx.query(get请求)
得到一个对象
 
(3)获取post JSON参数
ctx.request.body
得到一个对象
 
需要安装koa-bodyparsernpm插件,获取post请求参数;
const bodyParser = require('koa-bodyparser')
const app = new Koa()
app.use(bodyParser())
 
 
附自己当前的路由代码
// const Koa = require('koa')
// const fs = require('fs')
// const Router = require('koa-router')
// const bodyParser = require('koa-bodyparser')

import Koa from 'koa'
import fs from 'fs'
const app = new Koa()

import Router from 'koa-router'
import bodyParser from 'koa-bodyparser'



import getSRC20TokenInfo from './v1/getSRC20TokenInfo.js'
import getSRC20Balance from './v1/getSRC20Balance.js'
import getSRC20Events from './v1/getSRC20Events.js'
import getSRC20LatestHeight from './v1/getSRC20LatestHeight.js'


let home = new Router()

// 子路由1
home.get('/', async ( ctx )=>{
  let html = `
    <ul>
      <li><a href="/page/helloworld">/page/helloworld</a></li>
      <li><a href="/page/404">/page/404</a></li>
    </ul>
  `
  ctx.body = html
})

// 子路由2
let page = new Router()
page.get('/404', async ( ctx )=>{
  ctx.body = '404 page!'
}).get('/helloworld', async ( ctx )=>{
  ctx.body = 'helloworld page!'
})

// 装载所有子路由
let router = new Router()
router.use('/', home.routes(), home.allowedMethods())
router.use('/page', page.routes(), page.allowedMethods())

// 获取token信息
router.use('/api/v1/src20/tick', getSRC20TokenInfo.routes(), getSRC20TokenInfo.allowedMethods())
// 获取余额
router.use('/api/v1/src20/balance', getSRC20Balance.routes(), getSRC20Balance.allowedMethods())
// 获取事件铭文信息
router.use('/api/v1/src20/events', getSRC20Events.routes(), getSRC20Events.allowedMethods())
// 获取最新高度
router.use('/api/v1/src20/height', getSRC20LatestHeight.routes(), getSRC20LatestHeight.allowedMethods())




// 加载路由中间件
app.use(bodyParser()).use(router.routes()).use(router.allowedMethods())

app.listen(3000, () => {
  console.log('[demo] route-use-middleware is starting at port 3000')
})

 

 

Koa入门(三)Koa 路由。从工程化角度,如何使用路由。

https://juejin.cn/post/6920445522729762824

https://juejin.cn/post/7006874471877804062

 

 

 

posted @ 2023-12-21 12:00  走走停停走走  Views(564)  Comments(0Edit  收藏  举报