GithubHelp home page GithubHelp logo

samirsharma-github / awesome-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kikobeats/awesome-api

0.0 0.0 0.0 105 KB

A curated list of awesome resources for design and implement RESTful API's.

awesome-api's Introduction

Awesome API Awesome Build Status

A curated list of awesome resources for design and implement RESTful APIs.

Design

Overview

REST allows us to create services and applications that can be used by any device or client who understands HTTP.

Status Code

When you are using a REST design you have to provide the HTTP status code that are the more appropriated to respond to the request.

Authentication

JWT

JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.

Authorization

OAuth

An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications

Caching

Security

Format

  • HAL – Simple format that gives a consistent and easy way to hyperlink between resources in your API (see: HATEOAS).
  • Hydra – Vocabulary for Hypermedia-Driven Web APIs (W3C).
  • JSend – Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
  • JSON API – Standard for building APIs in JSON.
  • JSON-LD – Standard for describing Linked Data and hypermedia relations in JSON (W3C).
  • OData – Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
  • RAML – Simple and succinct way to describe RESTful API.
  • Schema.org – Collection of schemas describing common data models.

Discover

Need a API for your projects?

Curated list

Directory

Testing

Querying

  • Firecamp – Protocol agnostic API testing client which help you test and manage RestAPIs, GraphQL, Websocket and many more.
  • httpie – Command line HTTP client, far more dev-friendly than curl.
  • HttpMaster – GUI tool for testing REST APIs and services. Windows OS only.
  • jq – Command line JSON processor, to use in combination with a command-line HTTP client like cURL.
  • Insomina – A Fancy HTTP REST Client.
  • resty – Little command line REST client that you can use in pipelines (bash or zsh).
  • TestMace – A modern powerful crossplatform tool for working with API and creating automated API tests.

Mocking

  • Beeceptor - Beeceptor helps intercepting API calls and mocking them selectively. Creates an endpoint for wrapping original API and routes requests.
  • FakeRest – Patch XMLHttpRequest to fake a REST API client-side.
  • JSON Placeholder – Free online REST service that you can use whenever you need some fake data.
  • json-server – Get a full fake REST API with zero coding in less than 30 seconds.
  • Mocky.io – Free online service to create fake HTTP responses.
  • FakeQL – Mainly focused on GraphQL, but can mock RESTful APIs, as well.
  • PIPL API – Free and public API that generates random and fake people's data in JSON
  • API Mocha - Free online service providing fake REST API endpoints, create customizable responses and download rules as a Postman collection.

Response

  • httpstat.us – A super simple service for generating different HTTP codes.
  • httpbin – httpbin(1): HTTP Request & Response Service.
  • badssl – Testing clients against bad SSL configs.

Documentation

One of the most important part of your API is have a good documentation and updated with the code.

Free

Services

Logging

Modeling and SaaS

Based in DDD (Domain Driven Development). Generates automatically API's in different languages.

Libraries

Used it to improve your workflow

  • hello.js – A client-side Javascript SDK for authenticating with OAuth2.
  • nock – HTTP Server mocking for Node.js
  • node-ratelimiter – Rate limiter for Node.js backed by Redis.
  • node-uuid – Simple and fast generation of UUIDS.
  • Supertest – Super-agent driven library for testing HTTP servers.

Frameworks

Designed specifically for building RESTful API's Quickly.

Gateways

Manage API infrastructure concerns such as authentication/authorization, rate limiting, scaling, analytics, etc.

Open Source / Self-hosted

awesome-api's People

Contributors

ankitjaininfo avatar dexterbt1 avatar dgilling avatar dima11221122 avatar dotenorio avatar fredibach avatar ivangoncharov avatar jkheadley avatar jmstfv avatar k33k0 avatar kikobeats avatar lambda2 avatar narbehaj avatar petermoorey avatar pgericson avatar ryanccollins avatar sayanee avatar shreya-gr avatar taik0 avatar tiangolo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.