When designing a great REST API, it's important to have great microservices. Contract First approach helps you in designing a great contract before implementing it. However, it does not come easy! There are several kinds of web services that are offered — REST and SOAP among others.