Transcript
Page 1: Using Descriptor Languages for Content Negotiation in RESTful APIs

Intel Confidential — Do Not Forward

Descriptor Languages for Content NegotiationRob Zazueta

RESTFest 2014

Page 2: Using Descriptor Languages for Content Negotiation in RESTful APIs

The Problem

• Client programmers must write custom code just to access and parse the data from most APIs.

• API testing tools can only go so far without writing extensive, detailed test scripts.

• We’re not going to settle on standards any time soon.

Page 3: Using Descriptor Languages for Content Negotiation in RESTful APIs

The Solutions So Far

• Siren

• Hydra

• JSON-LD

• Etc.

Page 4: Using Descriptor Languages for Content Negotiation in RESTful APIs

WWBD?

Page 5: Using Descriptor Languages for Content Negotiation in RESTful APIs
Page 6: Using Descriptor Languages for Content Negotiation in RESTful APIs
Page 7: Using Descriptor Languages for Content Negotiation in RESTful APIs

What We Need to Make This Happen

• Move beyond the response format standards discussion – you just can’t squeeze every domain model into a standard.

• Extend the purpose of descriptor languages – they’re not just for documentation and testing anymore

• Start thinking in terms of resource-driven content types – Resources are responsible for their state and their representation

Page 8: Using Descriptor Languages for Content Negotiation in RESTful APIs

Additional Benefits

• Saner versioning at the resource level – where it belongs.

• Truly responsive APIs – support as many or as few response formats as you want from the same endpoint.

• Reaffirm the contract between client and server – embed your interactive documentation into your API workflow.

• Focus on building great solutions – make it easier for client developers to use your API.

• Better change management, reusability and composability – Truly match the API models to your domain.

• Dynamic client generation – not just for code, but for a post-programming UI

Page 9: Using Descriptor Languages for Content Negotiation in RESTful APIs

Thank You!Rob [email protected]@intel.com

Shameless Plug – Please Check Out www.NARWHL.com


Recommended