webfiori/rest-easy

This package is abandoned and no longer maintained. The author suggests using the webfiori/http package instead.

Basic library that can help in creating RESTful APIs using PHP.

Maintainers

Details

github.com/WebFiori/http

Source

Issues

Fund package maintenance!
paypal.me/IbrahimBinAlshikh


README

A simple library for creating RESTful web APIs in adition to providing utilities for handling HTTP request and response. It includes inputs feltering and data validation in addion to creating user-defined inputs filters.

Supported PHP Versions

API Docs

This library is a part of WebFiori Framework. To access API docs of the library, you can visid the following link: https://webfiori.com/docs/webfiori/http .

Terminology

Following terminology is used by the library:

The Idea

The idea of the library is as follows, when a client performs a request to a web service, he is usually intersted in performing specific action. Related actions are kept in one place as a set of web services (e.g. CRUD operations on a reasorce). The client can pass arguments (or parameters) to the end point in request body as POST or PUT request method or as a query string when using GET or DELETE.

An end point is represented by the class AbstractWebService and a set of web service (or end ponts) are grouped using the class WebServicesManager. Also, body parameters represented by the class RequestParameter.

Features

  • Full support for creating REST services that supports JSON as request and response.
  • Support for basic data filtering and validation.
  • The ability to create custom filters based on the need.

Installation

If you are using composer to collect your dependencies, you can simply include the following entry in your 'composer.json' file to get the latest release of the library:

{
    "require": {
        "webfiori/http":"*"
    }
}

Note that the WebFiori Json library will be included with the installation files as this library is depending on it.

Another option is to download the latest release manually from Release.

Usage

For more information on how to use the library, check here