Part 3 Building web applications end to end
In this part, we’ll explore the key concepts needed to build production-grade web services using Go. From API responses to templates, to sending and receiving data in various formats and protocols, we’ll flesh out the requisites for a full web app.
Along the way, we’ll look at routing—basic and advanced, authentication, static file service, form handling, and everything in between.
In chapter 8, we’ll create a backend for a web server, learning how to deal with HTTP requests and routing. We’ll extend our server by touching Go’s templating system so we can create safe, formatted responses for both the web and other destinations. In chapter 9, we put that all together and build a front-to-back web application; then we dig into more advanced functionality for our applications by supporting file uploads and POST
data and dealing with HTTP header data.
In addition to building our own services, we need to understand how to interface with other web services, which is critical for data pipelines and extract, transform, load (ETL) processes and for proxying third-party services and their various protocols. We’ll touch on REST, JSON, and remote procedure call (RPC) as data-transfer options and explore how to best design our own clients and servers to interact with such services.
By the end of this part, you will be able to both build a full-featured web application and interface with external web services.