Service Version Management
Start course

In this course, we will learn the concepts of microservice and Spring framework.  

Learning Objectives

In this course, you will gain an understanding of the following concepts, with regards to microservices:

  • Performance
  • Failure
  • Integrity
  • Service Version Management
  • Common Code for Microservices

Intended Audience

  • Beginner Java developers
  • Java developers interested in learning how to Build and Deploy RESTful Web Services
  • Java Developers who want to develop web applications using the Spring framework
  • Java Developers who want to develop web applications with microservices
  • Java Developers who wish to develop Spring Boot Microservices with Spring Cloud


  • Basic Java knowledge

Hello, dear friends. In this lesson, we will talk about Service Version Management and Microservices Architecture. As you all know, as time passes, we make changes in our services according to new needs. And because of that, we should occasionally provide backward compatibility for other services consuming the updated service. We accomplish this using versioning in our service. There are two main methods for versioning: URI and Header. Let's say, for example, we have a service to get some info about a person. Let's give it a path value of /v1/person. It is our initial service path. And through this, we can get some info about the person. Let's say we've made some changes and supplied some additional info. 

At that point, we add a new path called /v2/person. As you can see, we make sure to provide backward compatibility using URI versioning. The other approach is header versioning. In this method, we add some header parameters by version. For example, we have a product service. We can add a header parameter to it. When we need a new version of the service, we can add a new function with a new header parameter, as you can see here. So, let's take a short break here my friends, and I'll see you in the next lesson.


About the Author
Learning Paths

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.