In today's market, where rival web services compete for attention, a well-designed REST API is a must-have feature. This concise book presents a set of API design rules, drawn primarily from best practices that stick close to the Web's REST architectural style. Along with rules for URI design and HTTP use, you'll learn guidelines for media types and representational forms.
REST APIs are ubiquitous, but few of them follow a consistent design methodology. Using these simple rules, you will design web service APIs that adhere to recognized web standards. To assist you, author Mark Massé introduces the Web Resource Modeling Language (WRML), a conceptual framework he created for the design and implementation of REST APIs.
* Learn design rules for addressing resources with URIs
* Apply design principles to HTTP's request methods and response status codes
* Work with guidelines for conveying metadata through HTTP headers and media types
* Get design tips to address the needs of client programs, including the special needs of browser-based JavaScript clients
* Understand why REST APIs should be designed and configured, not coded
Inhaltsverzeichnis
Dedication;
Preface;
Greetings Program! ;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgments;
Chapter 1: Introduction;
1. 1 Hello World Wide Web;
1. 2 Web Architecture;
1. 3 Web Standards;
1. 4 REST;
1. 5 REST APIs;
1. 6 REST API Design;
1. 7 Recap;
Chapter 2: Identifier Design with URIs;
2. 1 URIs;
2. 2 URI Format;
2. 3 URI Authority Design;
2. 4 Resource Modeling;
2. 5 Resource Archetypes;
2. 6 URI Path Design;
2. 7 URI Query Design;
2. 8 Recap;
Chapter 3: Interaction Design with HTTP;
3. 1 HTTP/1. 1;
3. 2 Request Methods;
3. 3 Response Status Codes;
3. 4 Recap;
Chapter 4: Metadata Design;
4. 1 HTTP Headers;
4. 2 Media Types;
4. 3 Media Type Design;
4. 4 Recap;
Chapter 5: Representation Design;
5. 1 Message Body Format;
5. 2 Hypermedia Representation;
5. 3 Media Type Representation;
5. 4 Error Representation;
5. 5 Recap;
Chapter 6: Client Concerns;
6. 1 Introduction;
6. 2 Versioning;
6. 3 Security;
6. 4 Response Representation Composition;
6. 5 Processing Hypermedia;
6. 6 JavaScript Clients;
6. 7 Recap;
Chapter 7: Final Thoughts;
7. 1 State of the Art;
7. 2 Uniform Implementation;
7. 3 Recap;
My First REST API;