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


Irresistible APIs

Irresistible APIs

Author: Kirsten Hunter

Publisher: Simon and Schuster

Published: 2016-09-16

Total Pages: 367

ISBN-13: 1638353441

DOWNLOAD EBOOK

Summary A Web API is a platform with a web-style interface developers can use to implement functionality. Well-designed APIs feel like a natural extension of the application, rather than just a new interface into the backend database. Designing Web APIs based on use cases allows an organization to develop irresistible APIs, which developers can consume easily and which support the business values of that organization. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology It takes a village to deliver an irresistible web API. Business stakeholders look for an API that works side-by-side with the main product to enhance the experience for customers. Project managers require easy integration with other products or ways for customers to interact with your system. And, developers need APIs to consistently interoperate with external systems. The trick is getting the whole village together. This book shows you how. About the Book Irresistible APIspresents a process to create APIs that succeed for all members of the team. In it, you'll learn how to capture an application's core business value and extend it with an API that will delight the developers who use it. Thinking about APIs from the business point of view, while also considering the end-user experience, encourages you to explore both sides of the design process and learn some successful biz-to-dev communication patterns. Along the way, you'll start to view your APIs as part of your product's core value instead of just an add-on. What's Inside Design-driven development Developing meaningful use cases API guiding principles How to recognize successful APIs About the Reader Written for all members of an API design team, regardless of technical level. About the Author Kirsten Hunter is an API evangelist who helps developers and business stakeholders understand, design, and deliver amazing APIs. Table of Contents UNDERSTANDING WEB APIs What makes an API irresistible? Working with web APIs API First Web services explained DESIGNING WEB APIs Guiding principles for API design Defining the value for your API Creating your schema model Design-driven development Empowering your developers


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.


Swagger and OpenAPI 2. 0

Swagger and OpenAPI 2. 0

Author: Matthias Biehl

Publisher: Createspace Independent Publishing Platform

Published: 2018-05-19

Total Pages: 66

ISBN-13: 9781719325202

DOWNLOAD EBOOK

Building RESTful APIs? Great - API consumers love them if the right design decisions were made. And we need to make a lot of design decisions when building a new API. How do we capture these decisions, gain an overview, communicate the decisions and iterate on the design? To describe APIs in a precise manner, API designers typically use API description languages. They offer specialized language concepts to capture design decisions. Thus, API description languages can be called the power tools of the API designer. One of the most popular API description languages is Swagger and OpenAPI. In this quick guide, we will learn how Swagger/OpenAPI can be used to capture your RESTful API design decisions.


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.


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.


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.


API Architecture

API Architecture

Author: Matthias Biehl

Publisher: API-University Press

Published: 2015-05-22

Total Pages: 190

ISBN-13: 150867664X

DOWNLOAD EBOOK

Looking for the big picture of building APIs? This book is for you! Building APIs that consumers love should certainly be the goal of any API initiative. However, it is easier said than done. It requires getting the architecture for your APIs right. This book equips you with both foundations and best practices for API architecture. This book is for you if you want to understand the big picture of API design and development, you want to define an API architecture, establish a platform for APIs or simply want to build APIs your consumers love. This book is NOT for you, if you are looking for a step-by step guide for building APIs, focusing on every detail of the correct application of REST principles. In this case I recommend the book "API Design" of the API-University Series. What is API architecture? Architecture spans the bigger picture of APIs and can be seen from several perspectives: API architecture may refer to the architecture of the complete solution consisting not only of the API itself, but also of an API client such as a mobile app and several other components. API solution architecture explains the components and their relations within the software solution. API architecture may refer to the technical architecture of the API platform. When building, running and exposing not only one, but several APIs, it becomes clear that certain building blocks of the API, runtime functionality and management functionality for the API need to be used over and over again. An API platform provides an infrastructure for developing, running and managing APIs. API architecture may refer to the architecture of the API portfolio. The API portfolio contains all APIs of the enterprise and needs to be managed like a product. API portfolio architecture analyzes the functionality of the API and organizes, manages and reuses the APIs. API architecture may refer to the design decisions for a particular API proxy. To document the design decisions, API description languages are used. We explain the use of API description languages (RAML and Swagger) on many examples. This book covers all of the above perspectives on API architecture. However, to become useful, the architecture needs to be put into practice. This is why this book covers an API methodology for design and development. An API methodology provides practical guidelines for putting API architecture into practice. It explains how to develop an API architecture into an API that consumers love. A lot of the information on APIs is available on the web. Most of it is published by vendors of API products. I am always a bit suspicious of technical information pushed by product vendors. This book is different. In this book, a product-independent view on API architecture is presented. 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.


Modern API Design with ASP.NET Core 2

Modern API Design with ASP.NET Core 2

Author: Fanie Reynders

Publisher: Apress

Published: 2018-03-07

Total Pages: 245

ISBN-13: 1484235193

DOWNLOAD EBOOK

Use ASP.NET Core 2 to create durable and cross-platform web APIs through a series of applied, practical scenarios. Examples in this book help you build APIs that are fast and scalable. You’ll progress from the basics of the framework through to solving the complex problems encountered in implementing secure RESTful services. The book is packed full of examples showing how Microsoft’s ground-up rewrite of ASP.NET Core 2 enables native cross-platform applications that are fast and modular, allowing your cloud-ready server applications to scale as your business grows. Major topics covered in the book include the fundamentals and core concepts of ASP.NET Core 2. You'll learn about building RESTful APIs with the MVC pattern using proven best practices and following the six principles of REST. Examples in the book help in learning to develop world-class web APIs and applications that can run on any platform, including Windows, Linux, and MacOS. You can even deploy to Microsoft Azure and automate your delivery by implementing Continuous Integration and Continuous Deployment pipelines. What You Will Learn Incorporate automated API tooling such as Swagger from the OpenAPI specification Standardize query and response formats using Facebook’s GraphQL query language Implement security by applying authentication and authorization using ASP.NET Identity Ensure the safe storage of sensitive data using the data protection stack Create unit and integration tests to guarantee code quality Who This Book Is For Developers who build server applications such as web sites and web APIs that need to run fast and cross platform; programmers who want to implement practical solutions for real-world problems; those who want in-depth knowledge of the latest bits of ASP.NET Core 2.0


Principles of Web API Design

Principles of Web API Design

Author: James Higginbotham

Publisher: Addison-Wesley Professional

Published: 2021-12-08

Total Pages: 485

ISBN-13: 0137355734

DOWNLOAD EBOOK

The Full-Lifecycle Guide to API Design Principles of Web API Design brings together principles and processes to help you succeed across the entire API design lifecycle. Drawing on extensive in-the-trenches experience, leading consultant James Higginbotham helps you align every stakeholder on specific outcomes, design APIs that deliver value, and scale the design process from small teams to the entire organization. Higginbotham helps you bring an "outside-in" perspective to API design to reflect the voices of customers and product teams, map requirements to specific and well-organized APIs, and choose the right API style for writing them. He walks through a real-world example from the ground up, offering guidance for anyone designing new APIs or extending existing APIs. Deliver great APIs by getting your design processes right Gain agreement on specific outcomes from design teams, customers, and other stakeholders Craft job stories, conduct EventStorming, and model capabilities Identify the right APIs, and organize operations into coherent API profiles Choose the best styles for each project: REST, gRPC, GraphQL, or event-based async APIs Refine designs based on feedback from documenters, testers, and customers Decompose APIs into microservices Mature your API program, implementing design and management processes that scale This guide is invaluable for anyone involved in planning or building APIs--architects, developers, team leaders, managers in single and multi-team environments, and any technical or business professional delivering "API-as-a-product" offerings. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.