phil_sturgeon   36

Automated Style Guides for REST, GraphQL and gRPC | APIs You Won't Hate - A community that cares about API design and development.
Create API style guides using linting tools for any API paradigm. Avoid "API Governance" teams sitting there reviewing every single API change that comes through, and automate that menial task away to the bots.
phil_sturgeon  grpc  graphql  api_documentation  netapinotes 
15 days ago by mreinbold
Let's Stop Building APIs Around a Network Hack | APIs You Won't Hate - A community that cares about API design and development.
JSON:API has been one of the most popular standards for API development for a while now. It was conceived in 2013, battled through some...
phil_sturgeon  grpc  graphql  jsonapi  netapinotes  hypermedia  http/2  bson  protobuf 
8 weeks ago by mreinbold
Understanding RPC Vs REST For HTTP APIs — Smashing Magazine
"For the last few years, whenever somebody wants to start building an HTTP API, they pretty much exclusively use REST as the go-to architectural style, over alternative approaches such as XML-RPC, SOAP and JSON-RPC. REST is made out by many to be ultimately superior to the other “RPC-based” approaches, which is a bit misleading because they are just different. This article discusses these two approaches in the context of building HTTP APIs, because that is how they are most commonly used. REST and RPC can both be used via other transportation protocols, such as AMQP, but that is another topic entirely."
phil_sturgeon  rest  rpc  apis 
september 2019 by earth2marsh
GraphQL vs REST: Overview | Phil Sturgeon
This article aims to cover a few notable differences, and make the following points:

REST and GraphQL are totally different
GraphQL isn't a magic bullet, nor is it "better"
You can definitely use both at the same time
GraphQL is dope if used for the right thing

Ask yourself - at the very least - these following questions:

How different are your clients from each other?

Do you trust your clients to handle caching?

Do you want "dumb clients" that act like crawlers - knowing very little about the API, or clients that own a lot of the logic and know a lot about the API, using it simply as a data transfer?

Are you ok letting go of HTTP debugging proxies, cache proxies, all the knowledge your team have around HTTP, etc?

Are you just doing basic CRUD with simple JSON documents, or will your API need file upload/download too?
graphql  rest  phil_sturgeon  apis  comparison 
september 2019 by earth2marsh
REST and Hypermedia in 2019 | APIs You Won't Hate - A community that cares about API design and development.
A modern day look at the Richardson Maturity model, and insight into how the various layers of abstraction REST provides can help API Developers working in HTTP for various scenarios.
phil_sturgeon  richardson_maturity_model  netapinotes  infographic  api_design  hypermedia  hateoas 
may 2019 by mreinbold
Useful API Errors for REST, GraphQL and gRPC – APIs You Won't Hate
Dealing with the Happy Path™ in an API is pretty easy: When a client asks for a resource, show them the resource. When they trigger a procedure, let them know if it was triggered OK, and maybe if it…
phil_sturgeon  graphql  error_handling  netapinotes  grpc 
april 2019 by mreinbold
Picking the right API Paradigm | Phil Sturgeon
I build API Design tools for, write about REST/RPC/GraphQL APIs, live on a bike, and occasionally upset hordes of mens rights activists on Reddit.
graphql  grpc  rpc  netapinotes  phil_sturgeon  flowchart 
april 2019 by mreinbold
Taking a Timeout from Poor Performance – APIs You Won't Hate
In a system-oriented architecture, it is crucial to communicate with other systems. In an ideal world each service knows enough information to satisfy its clients, but often there are unfortunate…
phil_sturgeon  performance  api_design  restapinotes 
january 2019 by mreinbold
Our API Specification Workflow – WeWork Technology
A year ago we started trying to figure out the best way to not just document HTTP APIs, but to leverage API specifications to avoid duplicating efforts on loads of similar-but-different tasks…
phil_sturgeon  api_design  restapinotes 
september 2018 by mreinbold
Sadly it is not possible to build a GraphQL API that follows REST architectural constraints.
If you look at just declaring cacheability, different GraphQL types have no way to instruct clients on how long they should keep that specific resource before coming back to try for newer data…
phil_sturgeon  graphql  restapinotes  hypermedia 
june 2018 by mreinbold
Surviving Deprecations to Resources and Properties on Other APIs
Deprecation, is the art of telling people to stop using that thing, because that thing is probably going away at some point. Even if there are no solid plans to delete the thing entirely, the thing…
phil_sturgeon  restapinotes 
june 2018 by mreinbold
Picking the right API Paradigm – APIs You Won't Hate
To oversimplify things a bit, it’s reasonably fair to say that all APIs conform to a paradigm: “RPC”, “REST”, or “query language”. These are general approaches to building APIs, but not a specific…
phil_sturgeon  rpc  graphql  api_design  restapinotes 
may 2018 by mreinbold
What is API Rate Limiting All About? – APIs You Won't Hate
Something API clients (applications talking to APIs) are not often aware of, but run into often, is rate limiting; the API telling you to calm down a bit, and slow down how many requests are being…
phil_sturgeon  api_management  api_design  restapinotes 
may 2018 by mreinbold
Tricking Colleagues into Writing Documentation via Contract Testing
Part of my day job is trying to get folks to write API documentation, so the hordes of new developers joining the company on a weekly basis are not stuck trying guess at contracts by poking around…
phil_sturgeon  documentation  postman  testing  restapinotes  json_schema 
april 2018 by mreinbold
Design-first API Specification Workflow Matures | Phil Sturgeon
Platform Engineer @ WeWork who talks about APIs a lot. Programming Polyglot, Pragmatist, Centerist and Sarcasist. Ex-The League of Extraordinary Packages, PHP The Right Way, Ex-PHP-FIG, Ex-CodeIgniter, Ex-FuelPHP, Ex-PyroCMS.
phil_sturgeon  design_first  openapi  json_schema  restapinotes 
march 2018 by mreinbold

related tags

api  api_design  api_documentation  api_management  apis  bson  caching  codeigniter  comparison  design_first  documentation  error_handling  flowchart  github  graphql  grpc  hateoas  http/2  hypermedia  infographic  json  json_schema  jsonapi  kubernetes  marc-andre_giroux  mark_little  netapinotes  openapi  performance  php  php_internals  postman  protobuf  rest  restapinotes  restful_api  richardson_maturity_model  rpc  schema  slides  soap  template  testing  versioning  video 

Copy this bookmark: