Book Image

Building Microservices API in Go [Video]

By : Ashish Juyal
4 (2)
Book Image

Building Microservices API in Go [Video]

4 (2)
By: Ashish Juyal

Overview of this book

If you are looking to take your programming skills to the next level, Go programming is a must-know language in today’s tech landscape. This powerful language has gained widespread popularity due to its simplicity, performance, and scalability. In this comprehensive course, you will dive deep into Go programming and learn how to build efficient and scalable microservices using REST-based APIs. In this course, you will start with an in-depth exploration of security, covering best practices for securing your applications. You will learn about authentication and authorization strategies, how to implement role-based access control, and generate JWT tokens for secure user management. Next, you will delve into unit testing techniques for writing reliable and robust code. You will understand state-based testing, testing routes, and services, and learn the difference between mocks and stubs. You will also explore how to generate mocks and rewire applications for effective unit testing. In addition, this course covers logging and error handling, critical aspects of building robust applications. You will learn how to extract logger and AppError packages from your project to create a Go module for better code organization and reusability. You will also discover how to modularize your code with the banking-lib module, integrating it into your banking API and banking-auth API. You will refactor your code to use Claims domain objects for parsing JWT tokens and understand the concept of refresh tokens for maintaining secure access to your applications. By the end, you will gain the skills needed to build secure and reliable Go applications, optimize code organization, and elevate your coding expertise.
Table of Contents (6 chapters)
Chapter 3
Application Development
Content Locked
Section 6
Refactor Error Handling
In this video, we will focus on improving the design of our error handling by implementing best practices and making our error handling more robust and maintainable.