Skip to main content

plone.restapi is a RESTful hypermedia API for Plone.

Project description

https://secure.travis-ci.org/plone/plone.restapi.png?branch=master https://coveralls.io/repos/plone/plone.restapi/badge.png?branch=master https://readthedocs.org/projects/pip/badge/ Code Health 'Stories in Ready'

Introduction

plone.restapi is a RESTful hypermedia API for Plone.

RESTful Hypermedia API

REST stands for Representational State Transfer. It is a software architectural principle to create loosely coupled web APIs.

Most web APIs have a tight coupling between client and server. This makes them brittle and hard to change over time. It requires them not only to fully document every small detail of the API, but also write a client implementation that follows that specification 100% and breaks as soon as you change any detail.

A hypermedia API just provides an entry point to the API that contains hyperlinks the clients can follow. Just like a human user of a regular website, that knows the initial URL of a website and then follows hyperlinks to navigate through the site. This has the advantage that the client just needs to understand how to detect and follow links. The URL and other details of the API can change without breaking the client.

Live Demo

Heroku live demo:: http://stormy-headland-44390.herokuapp.com/Plone/

Note

You will need some kind of API browser application to explore the API. We recommend to use Postman.

Design Decisions

  • A truly RESTful API (Hypermedia / HATEOAS / Linked-data)
  • JSON is the main target formt, support other formats (HTML, XML) later
  • Use HTTP headers (to set format and versioning, also provide URL-based option to make it easier for people to try it out)
  • No versioning, version in the HTTP header can be added later
  • Field names just map over (we will not try to clean up attributes or enforce naming standards like pep8 (e.g. isPrincipiaFoldish -> is_folderish)

Software Quality

  • 100% Test Coverage
  • 100% PEP8 compliant

License

The project is licensed under the GPLv2.

Contributors

Note: place names and roles of the people who contribute to this package
in this file, one to a line, like so:
  • Timo Stollenwerk, Original Author
  • Thomas Buchberger
  • Lukas Graf
  • Víctor Fernández de Alba
  • Paul Roeland
  • Mikel Larreategi

Changelog

1.0a1 (2016-07-14)

  • Initial release. [timo,buchi,lukasgraf,et al.]

Project details


Release history Release notifications

History Node

2.0.0

History Node

1.6.0

History Node

1.5.0

History Node

1.4.1

History Node

1.4.0

History Node

1.3.1

History Node

1.3.0

History Node

1.2.0

History Node

1.1.0

History Node

1.0.0

History Node

1.0b1

History Node

1.0a25

History Node

1.0a24

History Node

1.0a23

History Node

1.0a22

History Node

1.0a21

History Node

1.0a20

History Node

1.0a19

History Node

1.0a18

History Node

1.0a17

History Node

1.0a16

History Node

1.0a15

History Node

1.0a14

History Node

1.0a13

History Node

1.0a12

History Node

1.0a11

History Node

1.0a10

History Node

1.0a9

History Node

1.0a8

History Node

1.0a7

History Node

1.0a6

History Node

1.0a5

History Node

1.0a4

History Node

1.0a3

History Node

1.0a2

This version
History Node

1.0a1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
plone.restapi-1.0a1.tar.gz (173.5 kB) Copy SHA256 hash SHA256 Source None Jul 14, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page