All Projects → n1te1337 → apigility-blog-example

n1te1337 / apigility-blog-example

Licence: BSD-3-Clause license
Simple example of a restful blog API built using Apigility

Programming Languages

Puppet
460 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects
perl
6916 projects
PHP
23972 projects - #3 most used programming language

Blog example

Simple example of a restful blog API built with Apigility.

The API uses User Credentials grant type of the OAuth2 spec for authentication.

Sample database schema is located in data/sample_schema.sql

To find out how to set up Apigility see the README of the main Apigility repo.
To find out how to use Apigility and what it has to offer watch Getting started with Apigility by Matthew Weier O'Phinney.

Registration and Login

Allowed fieds for registration are:

username - email address of the user (required, valid email)

password - password for the user (required, min length 6)

firstname - first name of the user (required, chars only)

lastname - last name of the user (required, chars only)

# Register a user
POST
/auth/registration

{
  "username": "[email protected]",
  "password": "testpass",
  "firstname": "Pav",
  "lastname": "Zwierzynski"
}
# Login a user
POST
/auth/login

{
  "username": "[email protected]",
  "password": "testpass",
  "grant_type": "password",
  "client_id": "webapp"
}

Post CRUD

Allowed fields for posts are:

postId - ID of a post

postTitle - title of a post (required)

postBody - body of a post

postDate - the date when a post was created

# Create a post
POST
/post

# Get all posts
GET
/post

# Get a specific post
GET
/post/:postId

# Update a post
PUT
/post/:postId

# Delete a post
DELETE
/post/:postId

Sample request to create a post

Authorization: Bearer f585ddc332207db088e13cee0f6e35ce93552f67
POST
/post

{
  "postTitle": "Sample post",
  "postBody": "This is just a sample post to see if the API works"
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].