/client-generator

Generate React or Vue.js-based Progressive Web Apps from an Hydra-enabled API. Also support React Native.

Primary LanguageJavaScriptMIT LicenseMIT

API Platform Client Generator

Build Status npm version MIT Licence

API Platform Client Generator is a generator to scaffold app with Create-Retrieve-Update-Delete features for any API exposing a Hydra or OpenAPI documentation for:

  • React/Redux
  • React Native
  • Vue.js

Works especially well with APIs built with the API Platform framework.

Documentation

The documentation of API Platform's Client Generator can be browsed on the official website.

Usage

Hydra

npx @api-platform/client-generator https://demo.api-platform.com/ output/ --resource Book

OpenAPI v2 (formerly known as Swagger) (experimental)

npx @api-platform/client-generator https://demo.api-platform.com/docs.json output/ --resource Book --format swagger

or

npx @api-platform/client-generator https://demo.api-platform.com/docs.json output/ --resource Book --format openapi2

OpenAPI v3 (experimental)

npx @api-platform/client-generator https://demo.api-platform.com/docs.json?spec_version=3 output/ --resource Book --format openapi3

Features

  • Generate high-quality ES6 components and files built with React, Redux, React Router and Redux Form including:
    • A list view
    • A creation form
    • An edition form
    • A deletion button
  • Use the Hydra or Swagger API documentation to generate the code
  • Generate the suitable HTML5 input type (number, date...) according to the type of the API property
  • Display of the server-side validation errors under the related input (if using API Platform Core)
  • Client-side validation (required attributes)
  • The generated HTML is compatible with Bootstrap and include mandatory classes
  • The generated HTML code is accessible to people with disabilities (ARIA support)
  • The Redux and the React Router configuration is also generated

Credits

Created by Kévin Dunglas. Sponsored by Les-Tilleuls.coop. Commercial support available upon request.