Respectful REST APIs: ‘Sunset’ and ‘Deprecation’ HTTP Headers

1. Introduction

According to Richardson Maturity Model [Reference 1], a Level 3 REST architecture introduces discoverability through hypermedia controls in addition to resources and HTTP verbs, thus making communication between the involved actors more self-documenting.

Hypermedia enriches the interaction from various perspectives, decreasing the coupling between parties and also allowing them to evolve independently. Moreover, the data enclosed in the exchanged messages is enhanced with links, which makes the overall exchanged information more accurate. On the other hand, developers now need to pay more attention when thinking the design, as the representations have a greater impact.

REST + MongoDB + HATEOAS?

REST?

Recently I had an interesting experience while implementing HATEOAS to a REST web service, and I was also lucky enough to get to try out a NoSQL database named MongoDB, which I found really convenient for a lot of different cases where you don't need to manage transactions. So, today, I'm going to share with you this experience. Maybe some of you are going to learn something new maybe not, but still, you'll get a refresher on what you already know.

So, first of all, we're going to introduce REST, and slowly we'll get to HATEOAS and MongoDB. So, what is exactly REST?

REST API — What Is HATEOAS?

REST API — What Is HATEOAS?

While viewing a web page, you can see data on the page and perform actions with it. How about a REST API? Typically, when you ask for a REST resource, you get the details of the resource back. How about sending the operations that you can do with the resource in the response?

You might also like:  RESTful Web Services With Spring Boot, Gradle, HATEOAS, and Swagger

We Learn

  • What is HATEOAS?
  • Why do you need to use HATEOAS?
  • When do you make use of HATEOAS?

REST API

This is the fifth article in a series of articles on REST APIs:

This Week in Spring: Kubernetes, Kotlin, KNative, and More

Hi, Spring fans! Welcome to another installment of This Week in Spring! I flew 14 hours to Tel Aviv, Israel. I then spent 28 hours on the ground visiting customers, visiting my friends at Codota, and then presenting to a packed house at the Israel Java User Group. Then, I flew another 14 hours back to San Francisco, CA, where I presented for a four-hour online course on using Kotlin with Spring Boot. Tonight, I’ll fly to Atlanta, GA, for the incredible DevNexus conference where I’ll be presenting (twice) with the good Dr. Venkat Subramaniam on Kotlin (and Spring) and more. And then, I’m doing a four-hour course on testing. Join me!

And, of course, we’ve got a lot to get to today ,so let’s get to it!