Visulima api platform is built on top of
OpenAPI (Swagger) specification, node-rate-limiter-flexible, @visulima/connect
With a more intuitive API for creating HTTP API endpoints.
Daniel Bannert's open source work is supported by the community on GitHub Sponsors
npm install @visulima/api-platform zod
npm install @visulima/api-platform zod @visulima/fs
yarn add @visulima/api-platform zod
yarn add @visulima/api-platform zod @visulima/fs
pnpm add @visulima/api-platform zod
pnpm add @visulima/api-platform zod @visulima/fs
npm install swagger-ui-react
To have a styled version of the swagger-ui you need to add the following css to your project:
import "swagger-ui-react/swagger-ui.css";
Note: For
next.js
you can add it to your_app.tsx
file
Or
npm install redoc
npm install cli-progress commander chalk
yarn add cli-progress commander chalk
pnpm add cli-progress commander chalk
// Shows the help with all available commands
pnpm api-platform --help
This package has an extended version of the @visulima/connect
package.
That means you can use all the features of the @visulima/connect
package, in addition to the features of this package.
// pages/api/hello.js
import type { NextApiRequest, NextApiResponse } from "next";
import { createNodeRouter } from "@visulima/api-platform";
import cors from "cors";
// Default Req and Res are IncomingMessage and ServerResponse
// You may want to pass in NextApiRequest and NextApiResponse
const router = createNodeRouter<NextApiRequest, NextApiResponse>();
router.get((req, res) => {
res.send("Hello world");
});
export default router.nodeHandler();
Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.
If you would like to help take a look at the list of issues and check our Contributing guild.
Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The visulima api-platform is open-sourced software licensed under the [MIT][license-url]
[typescript-url]: https://www.typescriptlang.org/ "TypeScript" "typescript" [license-image]: https://img.shields.io/npm/l/@visulima/api-platform?color=blueviolet&style=for-the-badge [license-url]: LICENSE.md "license" [npm-image]: https://img.shields.io/npm/v/@visulima/api-platform/latest.svg?style=for-the-badge&logo=npm [npm-url]: https://www.npmjs.com/package/@visulima/api-platform/v/latest "npm"