InfoQ Homepage API-Design Content on InfoQ
-
Designing a REST-ful API Using Spring 3
Ben Hale explains how to design and test a RESTful API with Spring MVC, providing an example of a simple game application showing the design principles used.
-
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
Mike Amundsen discusses the theory behind building hypermedia APIs combined with real life cases exemplifying the successes and failures of such an endeavor.
-
Web API Evolution
Rob Daigneau discusses some of the challenges met when creating and maintaining web APIs, impediments and design patterns for web API evolution.
-
The Costs and Benefits of Building Hypermedia APIs (with Node.js)
Mike Amundsen explores a way of designing hypermedia APIs based on messages instead of URIs, plus documenting, extending, versioning and registering hypermedia designs.
-
Designing & Consuming a Cloud 2.0 API
Andrew Phillips discusses Cloud API 2.0: the current state of cloud computing, why a Cloud API, the choices made while designing jClouds API, and how to consume such an API.
-
Techniques for Scaling the Netflix API
Daniel Jacobson covers the history of Netflix’s APIs, adaptation for the cloud, development and testing, resiliency, and the future of their APIs.
-
Building a Great Web API
Evan Cooke discussing ways of building Simple APIs with fast signup, a clear value proposition, efficient quick start, concise documentation, easy authentication and debuggable.
-
The API Platform
Gregory Brail discusses about APIs, what an API platform is, how the typical API call flows-security, authorization, authentication, caching, etc., and some of the challenges in using an API platform.
-
Writing Usable APIs in Practice
Giovanni Asproni presents techniques for writing usable APIs: using user's perspective, naming, the caller should have the control, explicit context, error reporting, logging, organizing.
-
Evolving the Java Language
At QCon London 2008, Neal Gafter discusses language changes being developed for the JDK7; their interactions, how they are conditioned upon pre-existing language design choices, and API design.