Iam really happy to introduce our newly build REST API code generator which helps to create complete functional REST APIs based on a model or OpenAPI definition. We think this tool is revolutionary in the way how we build APIs, so please let me explain how it works.

At first I like to talk a little bit about the current tool landscape. To illustrate this a little bit better please take a look at the following chart:

On the left side we have database API generator tools which allows you to generate a fully REST API based on a database…


In my last posts I have talked about the current problems with JSON schema and the challenges of code generation for the OpenAPI spec which are inherited from the JSON schema design decisions. With this post we are really happy and excited to introduce TypeHub which is a collaborative platform to design open data specifications.

TypeHub acts not as a replacement for existing API specifications like OpenAPI since we only focus on modeling data. It is more a complement since you can easily export your defined types for usage at any specification which is currently popular. This means TypeHub is…


Code generation is an interesting concept, some developers see it as useless and some think that it is the holy grail to productivity. In a previous post I have talked about the code generation problems of JSON Schema (which is used inside OpenAPI) and TypeSchema a new specification which we have developed to solve those problems. With this post I want to take a look at the bigger picture and why it is in the long term inevitable for the OpenAPI spec to solve those problems.

I will start to make a bold claim so please stay calm:

Currently there…


With this post we want to introduce Fusio 2.0 which is a modern PHP based API management and platform which helps to build and manage APIs.

History

To better understand the evolution of Fusio, I would like take a look at the history of PHP. This starts at roughly the early 2000 years where many CMS/Blog projects like WordPress, Drupal, Typo3 emerged. This was the time where the main problem was to serve dynamic HTML content for the web. From there frameworks like Symfony/Laravel evolved to build more generic web apps which are not targeted at content management. At the heart…


With this post I would like to talk about the current situation of describing JSON payloads and how we can use those specifications for code generation. To get started I will explain the situation from my view and also the lessons learned which we have gathered from building TypeSchema.

Currently the most known specification to describe JSON payloads is JSON Schema, this is also due to the fact that it is integrated into OpenAPI. JSON Schema is great to validate JSON payloads but it is difficult to use for code generators, since it has a highly recursive and flexible nature…


TypeSchema is a code generator friendly alternative to JsonSchema. You may be thinking, why do we need an alternative to JsonSchema, let me explain it:

For code generators it is difficult to work with JSON Schema since it is designed to validate JSON data. In JSON Schema you dont need to provide any keywords i.e. {} is a valid JSON Schema which basically allows every value and the defined keywords are applied based on the actual data. This means you can interpret a schema only if you have also the actual data. …


Fusio is an open source API management system which helps to build state of the art REST APIs. It provides out of the box features like OAuth2 authorization, Rate limiting, OpenAPI support, Webhooks and SDK generation. For more information about Fusio and to see whether it is useful for you please take a look at the GitHub project.

If you have already a Laravel app and want to build an API based on it or if you like to use Eloquent you want to take a look at the Fusio Laravel adapter. This adapter integrates features of Laravel into Fusio…


If you want to build a REST API in PHP there are many tools to choose from. This post gives you an overview about available tools and explains the basic features, which should help you to choose the right tool for the job. Also I give a personal recommendation for which use-case I would choose the tool.

Note: I`am also the developer of Fusio which is listed here but I`am trying to be as objective as possible. If I have missed any tools or make wrong claims please let me know on Twitter.

We take a look at the following…


This tutorial shows you how to build a clean API using Fusio, which is an open source PHP based API management solution. We are building a simple Todo API where a user can receive and create Todo entries.

To start please head to Github and download the latest release of Fusio. Then you need to move the folder into the document root of your web server. To install Fusio you can use either the web based installer (located at public/install.php) or you can use the CLI installer. …


This tutorial explains in detail how to build a REST API with PHP and JsonSchema. We will build a simple “todo” API where you can manage todo entries. At first we design the API. This step should be done independent of the language which you use to implement the API. For the implementation step we are using the PSX framework to develop the API.

Design

The first thing which you should do, when building an API, is to plan the design of the API. That means that you describe what endpoints are available and how the data of the request and…

Christoph Kappestein

I am a developer in the API space, currently working on Fusio an open source API management platform

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store