micro-api

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

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.

Metadata

  • MIT
  • >=6
  • Mike Bannister
  • released 4/4/2017

Downloads

Maintainers