1.11.3 • Published 5 months ago

@billyen2012/next-api-router v1.11.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Home Page

  • Please use home page for all api references. It aslo has more info like how to setup Graphql, Swagger, supported express.js middlewares, etc.

Installation

npm i @billyen2012/next-api-router

or for yarn

yarn add @billyen2012/next-api-router

Quick Start

under the /app dir, create a folder structure as shown below

app/
└── api/
    └── [...]/
        └── route.js
  • The [...] means to catch all the the request. This is required since NextApiRouter will create a separete route table to match the request url.

Then in the route.js, add the following

import NextApiRouter from "@billyen2012/next-api-router";

const app = NextApiRouter({
  timeout: 20 * 1000,
  apiFolderPath: "/api", // '/api' will be the default
  ejsFolderPath: "/src/app/views", // need include all folder encounter from the route (there is no default value). No need to set this up if you are not using ejs
});

app.get("/hello", (req, res, next) => {
  res.send("Hello");
});

const handler = app.handler();
export const dynamic = "force-dynamic";
export const GET = handler;
export const POST = handler;
export const PUT = handler;
export const DELETE = handler;

The Base Route Problem

The example shown in the quick start section will not process the base route such as app.get("/"). If you do need the base route to be open, you can do the following.

app/
└── api/
    ├── [...]/
    │   └── route.js
    └── route.js

And then have your const export app = NextApiRouter() created in some other folder or file and then import them to both route.js

1.11.3

5 months ago

1.11.1

5 months ago

1.11.0

5 months ago

1.10.3

5 months ago

1.10.2

5 months ago

1.10.1

5 months ago

1.10.0

5 months ago

1.9.4

5 months ago

1.9.3

5 months ago

1.9.2

5 months ago

1.8.0

5 months ago

1.7.1

5 months ago

1.7.0

5 months ago

1.6.3

5 months ago

1.6.1

5 months ago

1.5.0

5 months ago

1.4.3

5 months ago

1.4.2

5 months ago

1.4.1

5 months ago

1.4.0

5 months ago

1.3.4

5 months ago

1.3.3

5 months ago

1.3.2

5 months ago

1.3.1

5 months ago

1.3.0

6 months ago

1.2.0

6 months ago

1.1.5

6 months ago

1.1.4

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.0.9

6 months ago

1.0.7

6 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago