O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Designing Web APIs

Video Description

With the growing use of mobile devices, software-as-a-service, and the Internet of Things, APIs (application programming interfaces) have become an important part of a company's digital strategy, allowing businesses to share capabilities and data, build community, and foster innovation. In this Learning Path, you'll learn how to build and distribute Web APIs for the general public, internal use, or for use by partners.

Prerequisites: Web programming experience

Table of Contents

  1. Designing APIs for the Web, by Mike Amundsen
    1. Introduction 00:03:33
    2. Inside vs. Outside 00:29:51
    3. Webs and Services 00:31:50
    4. API Targeting 00:36:03
    5. The USE Paradigm 00:21:19
    6. The Discovery Phase for API Design 00:28:16
    7. API Styles 00:47:57
    8. Implement a Solid Foundation 00:23:26
    9. Implementing API Servers 00:35:24
    10. Documenting APIs 00:41:57
    11. Implementing API Clients 00:18:20
    12. Versioning Web APIs 00:23:58
    13. Summary 00:06:40
  2. Resource-Oriented Architectures: Hypermedia, by Brian Sletten
    1. Welcome to the Course 00:17:44
    2. Architecture of the Web 00:34:56
    3. URL Design 00:51:19
    4. Methods and Response Codes 00:37:49
    5. Clients and Libraries 00:19:34
    6. Conneg 00:22:10
    7. Representation Design 00:20:16
    8. Hypermedia 00:26:49
    9. Maze Example 00:11:05
    10. Collections+JSON 00:14:25
    11. Hue Demonstration 00:19:17
    12. Swagger 00:09:02
    13. RAML 00:02:37
    14. Apiary.io 00:06:14
    15. Hydra-CG 00:01:50
    16. Node.js 00:11:12
    17. Restlet 00:07:20
    18. Restlet Web Studio 00:04:38
    19. Web Security Introduction 00:06:12
    20. Web Security Features 00:34:10
    21. Homework Assignment 00:08:47
  3. Architecture of the MEAN Stack, by Scott Davis
    1. Welcome 00:04:03
    2. Meet the LAMP Stack 00:09:52
    3. Introducing the MEAN Stack 00:08:28
    4. Platform/Deconstructing the Browser 00:13:28
    5. Meet V8: Your Friendly Neighborhood Headless JavaScript Engine 00:07:17
    6. Headless JavaScript: JS Outside of the Browser 00:10:38
    7. Web Server/NodeJS Isn’t the Web Server: Here’s Why 00:10:58
    8. Introducing CommonJS: Modules, Packages, and NPM (Oh My!) 00:20:26
    9. Installing ExpressJS 00:05:59
    10. ExpressJS Middleware and Routes 00:10:41
    11. Persistence/Relational Databases and NoSQL Solutions 00:14:04
    12. Strong vs. Weak Typing 00:10:32
    13. Reducing Language and Modeling Impedance Mismatch 00:13:36
    14. MongooseJS: Object Modeling for MongoDB 00:08:33
    15. Single-Page Applications with Angular JS 00:21:04
    16. The 4 Characteristics of Angular JS: HTML-centric 00:07:21
    17. The 4 Characteristics of Angular JS: Declarative 00:08:47
    18. The 4 Characteristics of Angular JS: Component-oriented 00:09:42
    19. The 4 Characteristics of Angular JS: Dependency Injection 00:05:51
    20. Conclusion 00:03:57
  4. Building Web APIs with Flask, by Miguel Grinberg
    1. Welcome and Setup 00:04:35
    2. API Demonstration 00:16:07
    3. Basic CRUD Implementation 00:14:33
    4. Relationships Between Resources 00:14:47
    5. Error Handling 00:05:03
    6. Working with Hardware Devices 00:28:44
    7. Password Authentication 00:13:29
    8. Token Authentication 00:15:33
    9. Writing Tests with the Flask Test Client 00:09:33
    10. Obtaining Test Coverage Metrics 00:04:14
    11. Project Structure for Larger Projects 00:14:51
    12. Implementing Custom Decorators for Flask Routes 00:04:27
    13. Simplifying Responses 00:05:12
    14. Paginating Resource Collections 00:19:54
    15. HTTP Caching 00:12:16
    16. Rate Limiting API Access 00:08:59
    17. Asynchronous Tasks 00:20:30
  5. PHP Web Services, by Lorna Mitchell
    1. Course Overview 00:00:56
    2. PHP's Tools for HTTP 00:01:27
    3. PHP Curl Extension: Simple Example 00:05:12
    4. Doing More with Curl 00:07:18
    5. PHP Streams 00:09:45
    6. Guzzle: PHP's HTTP Library 00:01:20
    7. HTTP with Guzzle 00:06:32
    8. PHP as a Server 00:06:50
    9. Introduction to RPC Services 00:05:18
    10. Building an RPC Service 00:05:58
    11. Consuming an RPC Service 00:08:08
    12. Error Handling in RPC 00:04:55
    13. Introduction to SOAP Services 00:02:37
    14. Building Your Own SOAP Service 00:02:17
    15. Web Service Description Language 00:04:48
    16. Consuming a SOAP Service 00:02:44
    17. REST: Principles and Examples 00:12:04
    18. Building a RESTful Service in PHP 00:08:04
    19. Consuming a RESTful Service in PHP 00:04:20
    20. Endpoints to Use for Testing HTTP Requests 00:07:54
    21. Curl from the CLI 00:07:23
    22. Wireshark: Network Protocol Analyzer 00:05:17
    23. Charles: Web Debugging Proxy 00:09:03
    24. Designing Excellent APIs 00:03:35
    25. Picking a Data Format for Your API 00:06:33
    26. Caching for APIs 00:03:39
    27. Authentication in Your API 00:04:38
    28. Error Handling 00:04:07