REST API Design Rulebook

REST API Design Rulebook

Author: Mark Masse

Publisher: "O'Reilly Media, Inc."

Published: 2011-10-25

Total Pages: 115

ISBN-13: 1449310508

DOWNLOAD EBOOK

The basic rules of REST APIs - "many nouns, few verbs, stick with HTTP" - seem easy, but that simplicity and power require discipline to work smoothly. This brief guide provides next steps for implementing complex projects on simple and extensible foundations.


RESTful API Design

RESTful API Design

Author: Matthias Biehl

Publisher: API-University Press

Published: 2016-08-29

Total Pages: 300

ISBN-13: 1514735164

DOWNLOAD EBOOK

Looking for Best Practices for RESTful APIs? This book is for you! Why? Because this book is packed with practical experience on what works best for RESTful API Design. You want to design APIs like a Pro? Use API description languages to both design APIs and develop APIs efficiently. The book introduces the two most common API description languages RAML, OpenAPI, and Swagger. Your company cares about its customers? Learn API product management with a customer-centric design and development approach for APIs. Learn how to manage APIs as a product and how to follow an API-first approach. Build APIs your customers love! You want to manage the complete API lifecycle? An API development methodology is proposed to guide you through the lifecycle: API inception, API design, API development, API publication, API evolution, and maintenance. You want to build APIs right? This book shows best practices for REST design, such as the correct use of resources, URIs, representations, content types, data formats, parameters, HTTP status codes, and HTTP methods. Your APIs connect to legacy systems? The book shows best practices for connecting APIs to existing backend systems. Your APIs connect to a mesh of microservices? The book shows the principles for designing APIs for scalable, autonomous microservices. You expect lots of traffic on your API? The book shows you how to achieve high performance, availability and maintainability. You want to build APIs that last for decades? We study API versioning, API evolution, backward- and forward-compatibility and show API design patterns for versioning. The API-University Series is a modular series of books on API-related topics. Each book focuses on a particular API topic, so you can select the topics within APIs, which are relevant for you.


Hands-On RESTful API Design Patterns and Best Practices

Hands-On RESTful API Design Patterns and Best Practices

Author: Harihara Subramanian

Publisher: Packt Publishing Ltd

Published: 2019-01-31

Total Pages: 365

ISBN-13: 1788998588

DOWNLOAD EBOOK

Build effective RESTful APIs for enterprise with design patterns and REST framework’s out-of-the-box capabilities Key FeaturesUnderstand advanced topics such as API gateways, API securities, and cloudImplement patterns programmatically with easy-to-follow examplesModernize legacy codebase using API connectors, layers, and microservicesBook Description This book deals with the Representational State Transfer (REST) paradigm, which is an architectural style that allows networked devices to communicate with each other over the internet. With the help of this book, you’ll explore the concepts of service-oriented architecture (SOA), event-driven architecture (EDA), and resource-oriented architecture (ROA). This book covers why there is an insistence for high-quality APIs toward enterprise integration. It also covers how to optimize and explore endpoints for microservices with API gateways and touches upon integrated platforms and Hubs for RESTful APIs. You’ll also understand how application delivery and deployments can be simplified and streamlined in the REST world. The book will help you dig deeper into the distinct contributions of RESTful services for IoT analytics and applications. Besides detailing the API design and development aspects, this book will assist you in designing and developing production-ready, testable, sustainable, and enterprise-grade APIs. By the end of the book, you’ll be empowered with all that you need to create highly flexible APIs for next-generation RESTful services and applications. What you will learnExplore RESTful concepts, including URI, HATEOAS, and Code on DemandStudy core patterns like Statelessness, Pagination, and DiscoverabilityOptimize endpoints for linked microservices with API gatewaysDelve into API authentication, authorization, and API security implementationsWork with Service Orchestration to craft composite and process-aware servicesExpose RESTful protocol-based APIs for cloud computingWho this book is for This book is primarily for web, mobile, and cloud services developers, architects, and consultants who want to build well-designed APIs for creating and sustaining enterprise-class applications. You’ll also benefit from this book if you want to understand the finer details of RESTful APIs and their design techniques along with some tricks and tips.


Building Microservices with Go

Building Microservices with Go

Author: Nic Jackson

Publisher: Packt Publishing Ltd

Published: 2017-07-27

Total Pages: 354

ISBN-13: 1786469790

DOWNLOAD EBOOK

Your one-stop guide to the common patterns and practices, showing you how to apply these using the Go programming language About This Book This short, concise, and practical guide is packed with real-world examples of building microservices with Go It is easy to read and will benefit smaller teams who want to extend the functionality of their existing systems Using this practical approach will save your money in terms of maintaining a monolithic architecture and demonstrate capabilities in ease of use Who This Book Is For You should have a working knowledge of programming in Go, including writing and compiling basic applications. However, no knowledge of RESTful architecture, microservices, or web services is expected. If you are looking to apply techniques to your own projects, taking your first steps into microservice architecture, this book is for you. What You Will Learn Plan a microservice architecture and design a microservice Write a microservice with a RESTful API and a database Understand the common idioms and common patterns in microservices architecture Leverage tools and automation that helps microservices become horizontally scalable Get a grounding in containerization with Docker and Docker-Compose, which will greatly accelerate your development lifecycle Manage and secure Microservices at scale with monitoring, logging, service discovery, and automation Test microservices and integrate API tests in Go In Detail Microservice architecture is sweeping the world as the de facto pattern to build web-based applications. Golang is a language particularly well suited to building them. Its strong community, encouragement of idiomatic style, and statically-linked binary artifacts make integrating it with other technologies and managing microservices at scale consistent and intuitive. This book will teach you the common patterns and practices, showing you how to apply these using the Go programming language. It will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples on how to put these concepts and patterns into practice with Go. Whether you are planning a new application or working in an existing monolith, this book will explain and illustrate with practical examples how teams of all sizes can start solving problems with microservices. It will help you understand Docker and Docker-Compose and how it can be used to isolate microservice dependencies and build environments. We finish off by showing you various techniques to monitor, test, and secure your microservices. By the end, you will know the benefits of system resilience of a microservice and the advantages of Go stack. Style and approach The step-by-step tutorial focuses on building microservices. Each chapter expands upon the previous one, teaching you the main skills and techniques required to be a successful microservice practitioner.


RESTful Web APIs

RESTful Web APIs

Author: Leonard Richardson

Publisher: "O'Reilly Media, Inc."

Published: 2013-09-12

Total Pages: 464

ISBN-13: 1449359736

DOWNLOAD EBOOK

The popularity of REST in recent years has led to tremendous growth in almost-RESTful APIs that don’t include many of the architecture’s benefits. 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. 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


RESTful Web API Design with Node.js

RESTful Web API Design with Node.js

Author: Valentin Bojinov

Publisher: Packt Publishing Ltd

Published: 2016-05-26

Total Pages: 144

ISBN-13: 1786463202

DOWNLOAD EBOOK

Design and implement efficient RESTful solutions with this practical hands-on guide About This Book Create a fully featured RESTful API solution from scratch. Learn how to leverage Node.JS, Express, MongoDB and NoSQL datastores to give an extra edge to your REST API design. Use this practical guide to integrate MongoDB in your Node.js application. Who This Book Is For The ideal target audience for this book is web developers who have some experience with RESTful services. Familiarity with basic JavaScript programming techniques is required. No prior experience with Node.JS or Express.js is required. What You Will Learn Install, develop, and test your own Node.js user modules Comprehend the differences between an HTTP and a RESTful application Optimize RESTful service URI routing with best practices Eliminate third-party dependencies in your tests with mocking Learn about NoSQL data stores and integrate MongoDB in your Node.js application with Mongoose Secure your services with NoSQL database integration within Node.js applications Enrich your development skills to create scalable, server-side, RESTful applications based on the Node.js platform In Detail In this era of cloud computing, every data provisioning solution is built in a scalable and fail-safe way. Thus, when building RESTful services, the right choice for the underlying platform is vital. Node.js, with its asynchronous, event-driven architecture, is exactly the right choice to build RESTful APIs. This book will help you enrich your development skills to create scalable, server-side, RESTful applications based on the Node.js platform. Starting with the fundamentals of REST, you will understand why RESTful web services are better data provisioning solution than other technologies. You will start setting up a development environment by installing Node.js, Express.js, and other modules. Next, you will write a simple HTTP request handler and create and test Node.js modules using automated tests and mock objects. You will then have to choose the most appropriate data storage type, having options between a key/value or document data store, and also you will implement automated tests for it. This module will evolve chapter by chapter until it turns into a full-fledged and secure Restful service. Style and approach Create state of the art RESTful API solutions leveraging Node.JS 4.x.


Build APIs You Won't Hate

Build APIs You Won't Hate

Author: Phil Sturgeon

Publisher:

Published: 2015-08-12

Total Pages: 188

ISBN-13: 9780692232699

DOWNLOAD EBOOK

API development is becoming increasingly common for server-side developers thanks to the rise of front-end JavaScript frameworks, iPhone applications, and API-centric architectures. It might seem like grabbing stuff from a data source and shoving it out as JSON would be easy, but surviving changes in business logic, database schema updates, new features, or deprecated endpoints can be a nightmare. After finding many of the existing resources for API development to be lacking, Phil learned a lot of things the hard way through years of trial and error. This book aims to condense that experience, taking examples and explanations further than the trivial apples and pears nonsense tutorials often provide. By passing on some best practices and general good advice you can hit the ground running with API development, combined with some horror stories and how they were overcome/avoided/averted. This book will discuss the theory of designing and building APIs in any language or framework, with this theory applied in PHP-based examples.


API Design Patterns

API Design Patterns

Author: JJ Geewax

Publisher: Simon and Schuster

Published: 2021-08-17

Total Pages: 478

ISBN-13: 1638350337

DOWNLOAD EBOOK

"A concept-rich book on API design patterns. Deeply engrossing and fun to read." - Satej Sahu, Honeywell API Design Patterns lays out a set of design principles for building internal and public-facing APIs. In API Design Patterns you will learn: Guiding principles for API patterns Fundamentals of resource layout and naming Handling data types for any programming language Standard methods that ensure predictability Field masks for targeted partial updates Authentication and validation methods for secure APIs Collective operations for moving, managing, and deleting data Advanced patterns for special interactions and data transformations API Design Patterns reveals best practices for building stable, user-friendly APIs. These design patterns can be applied to solve common API problems and flexibly altered to fit specific needs. Hands-on examples and relevant cases illustrate patterns for API fundamentals, advanced functionalities, and uncommon scenarios. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology APIs are contracts that define how applications, services, and components communicate. API design patterns provide a shared set of best practices, specifications and standards that ensure APIs are reliable and simple for other developers. This book collects and explains the most important patterns from both the API design community and the experts at Google. About the book API Design Patterns lays out a set of principles for building internal and public-facing APIs. Google API expert JJ Geewax presents patterns that ensure your APIs are consistent, scalable, and flexible. You’ll improve the design of the most common APIs, plus discover techniques for tricky edge cases. Precise illustrations, relevant examples, and detailed scenarios make every pattern clear and easy to understand. What's inside Guiding principles for API patterns Fundamentals of resource layout and naming Advanced patterns for special interactions and data transformations A detailed case-study on building an API and adding features About the reader For developers building web and internal APIs in any language. About the author JJ Geewax is a software engineer at Google, focusing on Google Cloud Platform, API design, and real-time payment systems. He is also the author of Manning’s Google Cloud Platform in Action. Table of Contents PART 1 INTRODUCTION 1 Introduction to APIs 2 Introduction to API design patterns PART 2 DESIGN PRINCIPLES 3 Naming 4 Resource scope and hierarchy 5 Data types and defaults PART 3 FUNDAMENTALS 6 Resource identification 7 Standard methods 8 Partial updates and retrievals 9 Custom methods 10 Long-running operations 11 Rerunnable jobs PART 4 RESOURCE RELATIONSHIPS 12 Singleton sub-resources 13 Cross references 14 Association resources 15 Add and remove custom methods 16 Polymorphism PART 5 COLLECTIVE OPERATIONS 17 Copy and move 18 Batch operations 19 Criteria-based deletion 20 Anonymous writes 21 Pagination 22 Filtering 23 Importing and exporting PART 6 SAFETY AND SECURITY 24 Versioning and compatibility 25 Soft deletion 26 Request deduplication 27 Request validation 28 Resource revisions 29 Request retrial 30 Request authentication


Designing APIs with Swagger and OpenAPI

Designing APIs with Swagger and OpenAPI

Author: Josh Ponelat

Publisher: Simon and Schuster

Published: 2022-07-19

Total Pages: 422

ISBN-13: 1638352275

DOWNLOAD EBOOK

Follow real-world API projects from concept to production, and learn hands-on how to describe and design APIs using OpenAPI. In Designing APIs with Swagger and OpenAPI you will learn how to: Understand OpenAPI syntax and structure Use Swagger and other tooling to create OpenAPI definitions Design authentication and authorization Turn an OpenAPI description into online documentation Automate processes and generating code Iterate an API design with user stories Build a frontend against a mock server Generate backend code with Swagger Codegen Versioning an API and dodging breaking changes Work with cross-functional teams Designing APIs with Swagger and OpenAPI is a comprehensive guide to designing and describing your first RESTful API using the most widely adopted standards. Following expert instruction from Swagger core contributor Josh Ponelat and API consultant Lukas Rosenstock, you’ll spend each chapter progressively expanding the kind of APIs you’ll want to build in the real world. You’ll utilize OpenAPI and Swagger to help automate your workflow, and free up your time to work on more exciting features. Learn the syntax and structure of OpenAPI definitions, create and iterate on an API design with common tools, and release your API to the public. About the technology Create web APIs that customers and developers will love! Using Swagger, a collection of tools for defining and documenting REST APIs, you will build safe, controlled access to your software. And because Swagger implements the vendor-neutral OpenAPI specification, you’ll be building to the same standards adopted by Google, Microsoft, and Amazon. About the book Designing APIs with Swagger and OpenAPI introduces a design-first approach. Written for developers new to API design, it follows the lifecycle of an API project from concept to production. You’ll explore the dos and don’ts of APIs through progressively complete examples. You’ll get hands-on experience designing APIs for specific business needs, using open source tools to generate documentation, and building developer-friendly components like mocks and client SDKs. What's inside OpenAPI syntax and structure Using Swagger to create OpenAPI definitions Automating processes and generating code Working with cross-functional teams About the reader For web developers. No prior knowledge of Swagger or OpenAPI required. About the author Josh Ponelat is the Swagger Open Source lead at SmartBear. Lukas Rosenstock is an independent software developer and API consultant.


Undisturbed REST

Undisturbed REST

Author: Michael Stowe

Publisher: Lulu.com

Published: 2015-05-07

Total Pages: 201

ISBN-13: 1329115945

DOWNLOAD EBOOK

Believe it or not, building an API is the easy part. What is far more challenging is to put together a design that will stand the test of time, while also meeting your developers' needs. After all, no matter how well written your code may be, without a strong foundation, you will find your API quickly failing. Undisturbed REST works to tackle this issue through the use of modern design techniques and technology, showing how to carefully design your API with your users and longevity in-mind, taking advantage of a design-first approach- while incorporating best practices and hard lessons learned. After reading Undisturbed REST, you'll have a strong understanding of APIs, best practices, and available tooling for designing, prototyping, sharing, documenting, and generating tooling (such as SDKs) around your API. More importantly, you'll be equipped to design and build an API not just for today, but one that can stand the test of time and lead your application into tomorrow.