node package manager

micro-api

Micro API

Summary

Minimal routing layer for building JSON APIs with Zeit's Micro

CircleCI

Installation

yarn add micro micro-api

Usage

Declare your API's routes

// index.js 
const microApi = require('micro-api')
const handlers = require('./handlers')
 
const api = microApi([
  {
    method: 'post',
    path: '/foos',
    handler: handlers.createFoo,
  },
  {
    method: 'get',
    path: '/foos/:fooId',
    handler: handlers.showFoo,
  },
])
 
module.exports = api

Define some micro-compatible handlers

// handlers.js 
const uuid = require('uuid')
 
// In memory database 
const foos = []
 
const createFoo = ({ body }) => {
  // Build up the new item 
  const newFoo = { ...body, id: uuid() }
  // Add it to the database 
  foos.push(newFoo)
  return newFoo
}
 
// Find and return by id 
const showFoo = ({ params: { fooId } }) => foos.find(f => f.id === fooId)
 
module.exports = { createFoo, showFoo }

Run

micro -p 3000 ./index.js

See Micro documentation for complete usage.