Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully
Explore the necessary concepts of REST API development by building few real world services from scratch.
- Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service
- Leverage the Buffalo Framework to quickly implement RESTful endpoints
- Learn to implement a client library for a RESTful web service using Go
REST is an architectural style that tackles the challenges of building scalable web services and in today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of Go, makes it a breeze for developers to work with it to build robust Web APIs. This book takes you through the design of RESTful web services and leverages a framework like Buffalo Go to implement these services.
The book starts with a brief introduction to REST API development and how it transformed the modern web. You will learn how to handle routing and authentication of web services along with working with middleware for internal service. The book explains how to use Go frameworks to build RESTful web services and work with MongoDB to create REST API. You will learn how to integrate Postgres SQL and JSON with a Go web service and build a client library in Go for consuming REST API. You will learn how to scale APIs using the microservice architecture and deploy the REST APIs using Nginx as a proxy server. Finally you will learn how to metricize a REST API using an API Gateway.
By the end of the book you will be proficient in building RESTful APIs in Go.
What you will learn
- Create HTTP handler and introspect the Gorilla Mux router
- OAuth 2 implementation with Go
- Build RESTFul API with go-restful, Revel.Go and Buffalo Go
- Create REST API with MongoDB and Go
- Build a working client library and unit test for REST API
- Debug, test, and profile RESTful APIs with each of the frameworks
- Optimize and scale REST API using microservices
Who This Book Is For
This book is intended for those who want to learn to build RESTful web services with a framework like Buffalo. To make best use of the code samples included in the book, you should have a basic knowledge of Go programming.
Table of Contents
- Getting started with the REST API development
- Handling Routing for our REST services
- Working with Middleware & RPC
- Simplifying RESTFul Services with popular Go frameworks
- Working with MongoDB and Go to create REST API
- Working with Protocol Buffers
- Working with PostgreSQL, JSON and Go
- Building a REST API client in Go & Unit testing API
- Scaling our REST API using MicroServices
- Deploying our REST services
- Using an API Gateway to monitor and metricize REST API
- Handling Authentication for our REST Services