RESTful Web APIs
Autor Leonard Richardson, Mike Amundsen, Sam Rubyen Limba Engleză Paperback – 26 sep 2013
You’ll explore the concepts behind REST, learn different strategies for creating hypermedia-based APIs, and then put everything together with a step-by-step guide to designing a RESTful Web API.
* Examine API design strategies, including the collection pattern and pure hypermedia
* Understand how hypermedia ties representations together into a coherent API
* Discover how XMDP and ALPS profile formats can help you meet the Web API "semantic challenge"
* Learn close to two-dozen standardized hypermedia data formats
* Apply best practices for using HTTP in API implementations
* Create Web APIs with the JSON-LD standard and other the Linked Data approaches
* Understand the CoAP protocol for using REST in embedded systems
Preț: 210.21 lei
Preț vechi: 262.76 lei
-20% Nou
Puncte Express: 315
Preț estimativ în valută:
40.23€ • 41.79$ • 33.42£
40.23€ • 41.79$ • 33.42£
Carte disponibilă
Livrare economică 11-25 ianuarie 25
Livrare express 31 decembrie 24 - 04 ianuarie 25 pentru 38.76 lei
Preluare comenzi: 021 569.72.76
Specificații
ISBN-13: 9781449358068
ISBN-10: 1449358063
Pagini: 408
Ilustrații: black & white illustrations, figures
Dimensiuni: 177 x 232 x 26 mm
Greutate: 0.66 kg
Editura: O'Reilly
ISBN-10: 1449358063
Pagini: 408
Ilustrații: black & white illustrations, figures
Dimensiuni: 177 x 232 x 26 mm
Greutate: 0.66 kg
Editura: O'Reilly
Cuprins
Praise for RESTful Web APIs;
Dedication;
Foreword;
Introduction;
Duplication of Effort;
Hypermedia Is Hard;
What's in This Book?;
What's Not in This Book;
Administrative Notes;
Understanding Standards;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgements;
Chapter 1: Surfing the Web;
1.1 Episode 1: The Billboard;
1.2 Episode 2: The Home Page;
1.3 Episode 3: The Link;
1.4 Episode 4: The Form and the Redirect;
1.5 Application State;
1.6 Resource State;
1.7 Connectedness;
1.8 The Web Is Something Special;
1.9 Web APIs Lag Behind the Web;
1.10 The Semantic Challenge;
Chapter 2: A Simple API;
2.1 HTTP GET: Your Safe Bet;
2.2 How to Read an HTTP Response;
2.3 JSON;
2.4 Collection+JSON;
2.5 Writing to an API;
2.6 HTTP POST: How Resources Are Born;
2.7 Liberated by Constraints;
2.8 Application Semantics Create the Semantic Gap;
Chapter 3: Resources and Representations;
3.1 A Resource Can Be Anything;
3.2 A Representation Describes Resource State;
3.3 Representations Are Transferred Back and Forth;
3.4 Resources with Many Representations;
3.5 The Protocol Semantics of HTTP;
3.6 Which Methods Should You Use?;
Chapter 4: Hypermedia;
4.1 HTML as a Hypermedia Format;
4.2 URI Templates;
4.3 URI Versus URL;
4.4 The Link Header;
4.5 What Hypermedia Is For;
4.6 Beware of Fake Hypermedia!;
4.7 The Semantic Challenge: How Are We Doing?;
Chapter 5: Domain-Specific Designs;
5.1 Maze+XML: A Domain-Specific Design;
5.2 How Maze+XML Works;
5.3 The Collection of Mazes;
5.4 Is Maze+XML an API?;
5.5 Client #1: The Game;
5.6 A Maze+XML Server;
5.7 Client #2: The Mapmaker;
5.8 Client #3: The Boaster;
5.9 Clients Do the Job They Want to Do;
5.10 Extending a Standard;
5.11 The Mapmaker's Flaw;
5.12 Maze as Metaphor;
5.13 Meeting the Semantic Challenge;
5.14 Where Are the Domain-Specific Designs?;
5.15 If You Can't Find a Domain-Specific Design, Don't Make One;
5.16 Kinds of API Clients;
Chapter 6: The Collection Pattern;
6.1 What's a Collection?;
6.2 Collection+JSON;
6.3 How a (Generic) Collection Works;
6.4 The Atom Publishing Protocol (AtomPub);
6.5 The Semantic Challenge: How Are We Doing?;
Chapter 7: Pure-Hypermedia Designs;
7.1 Why HTML?;
7.2 HTML's Capabilities;
7.3 Microformats;
7.4 The hMaze Microformat;
7.5 Microdata;
7.6 Changing Resource State;
7.7 The Alternative to Hypermedia Is Media;
7.8 HTML's Limits;
7.9 The Hypertext Application Language;
7.10 Siren;
7.11 The Semantic Challenge: How Are We Doing?;
Chapter 8: Profiles;
8.1 How Does A Client Find the Documentation?;
8.2 What's a Profile?;
8.3 Linking to a Profile;
8.4 Profiles Describe Protocol Semantics;
8.5 Profiles Describe Application Semantics;
8.6 XMDP: The First Machine-Readable Profile Format;
8.7 ALPS;
8.8 JSON-LD;
8.9 Embedded Documentation;
8.10 In Summary;
Chapter 9: The Design Procedure;
9.1 Two-Step Design Procedure;
9.2 Seven-Step Design Procedure;
9.3 Example: You Type It, We Post It;
9.4 Some Design Advice;
9.5 Adding Hypermedia to an Existing API;
9.6 Alice's Second Adventure;
Chapter 10: The Hypermedia Zoo;
10.1 Domain-Specific Formats;
10.2 Collection Pattern Formats;
10.3 Pure Hypermedia Formats;
10.4 GeoJSON: A Troubled Type;
10.5 The Semantic Zoo;
Chapter 11: HTTP for APIs;
11.1 The New HTTP/1.1 Specification;
11.2 Response Codes;
11.3 Headers;
11.4 Choosing Between Representations;
11.5 HTTP Performance;
11.6 Avoiding the Lost Update Problem;
11.7 Authentication;
11.8 Extensions to HTTP;
11.9 HTTP 2.0;
Chapter 12: Resource Description and Linked Data;
12.1 RDF;
12.2 When to Use the Description Strategy;
12.3 Resource Types;
12.4 RDF Schema;
12.5 The Linked Data Movement;
12.6 JSON-LD;
12.7 Hydra;
12.8 The XRD Family;
12.9 The Ontology Zoo;
12.10 Conclusion: The Description Strategy Lives!;
Chapter 13: CoAP: REST for Embedded Systems;
13.1 A CoAP Request;
13.2 A CoAP Response;
13.3 Kinds of Messages;
13.4 Delayed Response;
13.5 Multicast Messages;
13.6 The CoRE Link Format;
13.7 Conclusion: REST Without HTTP;
The Status Codex;
Problem Detail Documents;
Families of Status Codes;
Four Status Codes: The Bare Minimum;
1xx: Informational;
2xx: Successful;
3xx: Redirection;
4xx: Client-Side Error;
5xx: Server-Side Error;
The Header Codex;
Custom HTTP Headers;
The Headers;
An API Designer's Guide to the Fielding Dissertation;
Architectural Properties of the Web;
Interface Constraints;
Architectural Constraints;
Summary;
Conclusion;
Glossary;
Index;
Colophon;
Dedication;
Foreword;
Introduction;
Duplication of Effort;
Hypermedia Is Hard;
What's in This Book?;
What's Not in This Book;
Administrative Notes;
Understanding Standards;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgements;
Chapter 1: Surfing the Web;
1.1 Episode 1: The Billboard;
1.2 Episode 2: The Home Page;
1.3 Episode 3: The Link;
1.4 Episode 4: The Form and the Redirect;
1.5 Application State;
1.6 Resource State;
1.7 Connectedness;
1.8 The Web Is Something Special;
1.9 Web APIs Lag Behind the Web;
1.10 The Semantic Challenge;
Chapter 2: A Simple API;
2.1 HTTP GET: Your Safe Bet;
2.2 How to Read an HTTP Response;
2.3 JSON;
2.4 Collection+JSON;
2.5 Writing to an API;
2.6 HTTP POST: How Resources Are Born;
2.7 Liberated by Constraints;
2.8 Application Semantics Create the Semantic Gap;
Chapter 3: Resources and Representations;
3.1 A Resource Can Be Anything;
3.2 A Representation Describes Resource State;
3.3 Representations Are Transferred Back and Forth;
3.4 Resources with Many Representations;
3.5 The Protocol Semantics of HTTP;
3.6 Which Methods Should You Use?;
Chapter 4: Hypermedia;
4.1 HTML as a Hypermedia Format;
4.2 URI Templates;
4.3 URI Versus URL;
4.4 The Link Header;
4.5 What Hypermedia Is For;
4.6 Beware of Fake Hypermedia!;
4.7 The Semantic Challenge: How Are We Doing?;
Chapter 5: Domain-Specific Designs;
5.1 Maze+XML: A Domain-Specific Design;
5.2 How Maze+XML Works;
5.3 The Collection of Mazes;
5.4 Is Maze+XML an API?;
5.5 Client #1: The Game;
5.6 A Maze+XML Server;
5.7 Client #2: The Mapmaker;
5.8 Client #3: The Boaster;
5.9 Clients Do the Job They Want to Do;
5.10 Extending a Standard;
5.11 The Mapmaker's Flaw;
5.12 Maze as Metaphor;
5.13 Meeting the Semantic Challenge;
5.14 Where Are the Domain-Specific Designs?;
5.15 If You Can't Find a Domain-Specific Design, Don't Make One;
5.16 Kinds of API Clients;
Chapter 6: The Collection Pattern;
6.1 What's a Collection?;
6.2 Collection+JSON;
6.3 How a (Generic) Collection Works;
6.4 The Atom Publishing Protocol (AtomPub);
6.5 The Semantic Challenge: How Are We Doing?;
Chapter 7: Pure-Hypermedia Designs;
7.1 Why HTML?;
7.2 HTML's Capabilities;
7.3 Microformats;
7.4 The hMaze Microformat;
7.5 Microdata;
7.6 Changing Resource State;
7.7 The Alternative to Hypermedia Is Media;
7.8 HTML's Limits;
7.9 The Hypertext Application Language;
7.10 Siren;
7.11 The Semantic Challenge: How Are We Doing?;
Chapter 8: Profiles;
8.1 How Does A Client Find the Documentation?;
8.2 What's a Profile?;
8.3 Linking to a Profile;
8.4 Profiles Describe Protocol Semantics;
8.5 Profiles Describe Application Semantics;
8.6 XMDP: The First Machine-Readable Profile Format;
8.7 ALPS;
8.8 JSON-LD;
8.9 Embedded Documentation;
8.10 In Summary;
Chapter 9: The Design Procedure;
9.1 Two-Step Design Procedure;
9.2 Seven-Step Design Procedure;
9.3 Example: You Type It, We Post It;
9.4 Some Design Advice;
9.5 Adding Hypermedia to an Existing API;
9.6 Alice's Second Adventure;
Chapter 10: The Hypermedia Zoo;
10.1 Domain-Specific Formats;
10.2 Collection Pattern Formats;
10.3 Pure Hypermedia Formats;
10.4 GeoJSON: A Troubled Type;
10.5 The Semantic Zoo;
Chapter 11: HTTP for APIs;
11.1 The New HTTP/1.1 Specification;
11.2 Response Codes;
11.3 Headers;
11.4 Choosing Between Representations;
11.5 HTTP Performance;
11.6 Avoiding the Lost Update Problem;
11.7 Authentication;
11.8 Extensions to HTTP;
11.9 HTTP 2.0;
Chapter 12: Resource Description and Linked Data;
12.1 RDF;
12.2 When to Use the Description Strategy;
12.3 Resource Types;
12.4 RDF Schema;
12.5 The Linked Data Movement;
12.6 JSON-LD;
12.7 Hydra;
12.8 The XRD Family;
12.9 The Ontology Zoo;
12.10 Conclusion: The Description Strategy Lives!;
Chapter 13: CoAP: REST for Embedded Systems;
13.1 A CoAP Request;
13.2 A CoAP Response;
13.3 Kinds of Messages;
13.4 Delayed Response;
13.5 Multicast Messages;
13.6 The CoRE Link Format;
13.7 Conclusion: REST Without HTTP;
The Status Codex;
Problem Detail Documents;
Families of Status Codes;
Four Status Codes: The Bare Minimum;
1xx: Informational;
2xx: Successful;
3xx: Redirection;
4xx: Client-Side Error;
5xx: Server-Side Error;
The Header Codex;
Custom HTTP Headers;
The Headers;
An API Designer's Guide to the Fielding Dissertation;
Architectural Properties of the Web;
Interface Constraints;
Architectural Constraints;
Summary;
Conclusion;
Glossary;
Index;
Colophon;
Notă biografică
Descriere
With this practical guide, you'll learn what it takes to design usable REST APIs that evolve over time. By focusing on solutions that cross a variety of domains, this book shows you how to create powerful and secure applications, using the tools designed for the world's most successful distributed computing system: the World Wide Web.