api-design.md

July 15, 2021 · View on GitHub

Bookmarks tagged [api-design]

www.codever.land/bookmarks/t/api-design

Designing GraphQL Mutations - Apollo Blog

https://www.apollographql.com/blog/designing-graphql-mutations-e09de826ed97/

Designing a good GraphQL API is tricky, because you always want to balance utility and convenience with a consideration around how the API may evolve in the future.

The main points to consider when d...


GraphQL Mutation Design: Anemic Mutations

https://xuorig.medium.com/graphql-mutation-design-anemic-mutations-dd107ba70496

Mutations are one of the trickiest part of a GraphQL schema to design. We spend a lot of time talking about GraphQL queries and how easy they are to use. However, mutations get far less love.

In this...


GraphQL Schema Design: Building Evolvable Schemas - Apollo Blog

https://www.apollographql.com/blog/graphql-schema-design-building-evolvable-schemas-1501f3c59ed5/

While GraphQL allows us to continuously evolve our schemas, using deprecations for example, we should not take the decision of deprecating schema members lightly. In the end, a deprecation still requi...


REST APIs must be hypertext-driven » Untangled by Roy. T

https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven

I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. There is so much coupling on displ...


OpenAPI 3.0, And What it Means for the Future of Swagger - 1h:1min

https://www.youtube.com/watch?v=wBDSR0x3GZo

This webinar: OpenAPI 3.0, And What it Means for the Future of Swagger, provides an in-depth look at the new OpenAPI 3.0 (OAS3.0) specification. Try Swagger today: https://swaggerhub.com/

We will als...


OpenAPI 3.0, And What it Means for the Future of Swagger - 1h:1min

https://www.youtube.com/watch?v=wBDSR0x3GZo

This webinar: OpenAPI 3.0, And What it Means for the Future of Swagger, provides an in-depth look at the new OpenAPI 3.0 (OAS3.0) specification. Try Swagger today: https://swaggerhub.com/

We will als...


Beautiful Native Libraries

http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/


Designing Qt-Style C++ APIs

https://doc.qt.io/archives/qq/qq13-apis.html


HTTP API design guide extracted from work on the Heroku Platform API

https://github.com/interagent/http-api-design

HTTP API design guide extracted from work on the Heroku Platform API - interagent/http-api-design


Best Practices for Designing a Pragmatic RESTful API

http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

An API is a user interface for a developer. Learn the best practices to make an API that is easy to adopt and pleasant to use.


How to design a REST API?

http://blog.octo.com/en/design-a-rest-api/

Full guide tackling security, pagination, filtering, versioning, partial answers, CORS, etc.


Richardson Maturity Model

http://martinfowler.com/articles/richardsonMaturityModel.html

Explained by Martin Fowler, originally presented by Leonard Richardson at the QCon 2008.


Enterprise Integration Using REST

http://martinfowler.com/articles/enterpriseREST.html

Discusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams.


HATEOAS

http://timelessrepo.com/haters-gonna-hateoas

Clear explanation on what HATEOAS is, and why you should use it.


How to GET a cup of coffee

http://www.infoq.com/articles/webber-rest-workflow/

In this article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application.


REST API Tutorial

http://www.restapitutorial.com/

RestApiTutorial.com is dedicated to tracking REST API best practices and making resources available to enable quick reference and self education for the development crafts-person.


Microsoft REST API Guidelines

https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#readme

The Microsoft REST API Guidelines, as a design principle, encourages application developers to have resources accessible to them via a RESTful HTTP interface.


API-Security-Checklist

https://github.com/shieldfy/API-Security-Checklist

Best practices about REST API security


The GitHub GraphQL API

https://githubengineering.com/the-github-graphql-api/

GitHub announced a public API one month after the site launched. We’ve evolved this platform through three versions, adhering to RFC standards and embracing new design patterns to provide a clear and ...


When to Use What: REST, GraphQL, Webhooks, & gRPC

https://nordicapis.com/when-to-use-what-rest-graphql-webhooks-grpc/

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.


Parallel Change

https://martinfowler.com/bliki/ParallelChange.html

Parallel change, also known as expand and contract, is a pattern to implement backward-incompatible changes to an interface in a safe manner, by breaking the change into three distinct phases: expand,...