Pro REST API Development with Node.js /
Pro REST API Development with Node.js is your guide to managing and understanding the full capabilities of successful REST development. API design is a hot topic in the programming world, but not many resources exist for developers to really understand how you can leverage the advantages. This book...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[California] :
Apress,
[2015]
|
Colección: | Expert's voice in Web development.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Introduction
- Acknowledgments
- About the Author
- Contents
- Chapter 1: Rest 101
- Where Did It All Start?
- REST Constraints
- Client-Server
- Stateless
- Cacheable
- Uniform Interface
- Layered System
- Code-on-Demand
- Resources, Resources, Resources
- Representations
- Content Negotiation
- Using File Extensions
- Resource Identifier
- Actions
- Complex Actions
- Hypermedia in the Response and Main Entry Point
- A Few Notes on HAL
- Status Codes
- REST vs. the Past
- Summary
- Chapter 2: API Design Best Practices
- What Defines a Good API?
- Developer Friendly
- Communication's Protocol
- Easy-to-Remember Access Points
- Uniform Interface
- Transport Language
- Why JSON?
- Extensibility
- How Is Extensibility Managed?
- Up-to-Date Documentation
- Proper Error Handling
- Phase 1: Development of the Client
- Phase 2: The Client Is Implemented and Being Used by End Users
- Multiple SDK/Libraries
- Security
- Accessing the System
- Almost Stateless Methods
- Basic Auth with TSL
- Digest Auth
- OAuth 1.0a
- OAuth 2.0
- A Stateless Alternative
- Scalability
- Summary
- Chapter 3: Node.js and REST
- Asynchronous Programming
- Async Advanced
- Parallel Flow
- Serial Flow
- Asynchronous I/O
- Async I/O vs. Sync I/O
- Simplicity
- Dynamic Typing
- Object-Oriented Programming Simplified
- Prototypal Inheritance
- Functional Programming Support
- Duck Typing
- Native Support for JSON
- npm: The Node Package Manager
- Who's Using Node.js?
- Summary
- Chapter 4: Architecting a REST API
- The Request Handler, the Pre-Process Chain, and the Routes Handler
- MVC: a.k.a. Model-View-Controller
- Alternatives to MVC
- Hierarchical MVC
- Model-View-ViewModel
- Model-View-Adapter
- Response Handler
- Summary
- Chapter 5: Working with Modules
- Our Alternatives.
- Request/Response Handling
- Routes Handling
- Middleware
- Up-to-Date Documentation
- Hypermedia on the Response
- Response and Request validation
- The List of Modules
- HAPI
- Code Examples
- Express.js
- Code Examples
- Restify
- Code Examples
- Naming Routes
- Versioning Routes
- Content Negotiation
- Vatican.js
- Code Examples
- swagger-node-express
- Code Examples
- I/ODocs
- Code Examples
- Halson
- Code Examples
- HAL
- Code Examples
- JSON-Gate
- Code Examples
- TV4
- Code Examples
- Summary
- Chapter 6: Planning Your REST API
- The Problem
- The Specifications
- Keeping Track of Stock per Store
- UML Diagram
- Choosing a Database Storage System
- Fast Integration
- Easy-to-Change Schemas
- Ability to Handle Entity Relations
- Seamless Integration Between Our Models and the Database Entities
- And the Winner Is ...
- Choosing the Right Modules for the Job
- Summary
- Chapter 7: Developing Your REST API
- Minor Changes to the Plan
- Simplification of the Store: Employee Relationship
- Adding Swagger UI
- Simplified Security
- A Small Backdoor for Swagger
- MVC
- Folder Structure
- The Source Code
- controllers
- lib
- models
- request_schemas
- schemas
- swagger-ui
- Root Folder
- Middleware Setup
- Setup Section
- Summary
- Chapter 8: Troubleshooting
- Asynchronous Programming
- The Controllers Action's Code
- The Middleware Functions
- Issues Configuring the Swagger UI
- CORS: a.k.a. Cross-Origin Resource Sharing
- Data Types
- Summary
- Index.