Spring Boot 3 : Error Responses using Problem Details for HTTP APIs

Spring Framework 6 implemented the Problem Details for HTTP APIs specification, RFC 7807. In this article we will learn how to handle exceptions in SpringBoot 3 REST API(which uses Spring Framework 6) and provide error responses using ProblemDetails API. We are going to reuse the SpringBoot 3 sample application spring-boot-jpa-crud-demo which we used for Using Java Records with Spring Boot 3 article. Assume we have the following REST API endpoints to create a bookmark and fetch a bookmark by id.

Continue reading »

Using Java Records with Spring Boot 3

Records were introduced in Java 14 as a preview feature and became a standard feature with JDK 16. Records are a concise representation of immutable data class. Prior to Records this is how we usually create an immutable class. import java.util.Objects; class Person { private final Long id; private final String name; public Person(Long id, String name) { this.id = id; this.name = name; } public Long getId() { return this.

Continue reading »

Rethinking About My Social Media Usage

Social media is a double-edged sword. Depending on how you use it can be really be helpful or become a source of pressure and frustration. I don’t use Facebook and Instagram much, but I use Twitter and recently started using LinkedIn too. Twitter is my primary source of technical information. I follow many good people in Java Community. Twitter is a great platform to connect with those awesome people and I learn a lot from what they share.

Continue reading »

Book Review : Cloud Native Spring in Action

I got a chance to review the upcoming Cloud Native Spring in Action book by Thomas Vitale and here my review of the book. TLDR: If you know the basics of SpringBoot and want to master the advanced concepts and also understand what “Cloud Native” means and how to build & deploy production grade SpringBoot applications on Kubernetes then this is the book you are looking for. Longer version: There are many books on SpringBoot that are aimed towards complete beginners to intermediate skilled developers.

Continue reading »

How (not) to ask for Technical Help?

We, software developers, have a great advantage when it comes to getting help from others. Irrespective of how much experience you have you will need help fromm others. And, there are plenty of good people out there willing to help you by means of answering on StackOverflow, writing blog posts, making video tutorials etc. They are taking their personal time to help strangers whom they may never meet in-person, kudos to all of them.

Continue reading »

My all-time favourite 20 inspiring Tech Talks

We, software developers, aspire to become better by learning new tools and techniques. In addition to that, I find listening to the experts and learning from their experiences is a great way to upskill ourselves. We may want to learn a new technology, or want to start our own start-up company or learn why some hyped technologies failed. Also, we may want to learn some behavioural aspects like how to be empathetic to others, be a better mentor to juniors etc.

Continue reading »

Announcing My "SpringBoot Tips Video Series" on YouTube

TLDR; I am happy to announce that I am going to create “SpringBoot Tips Video Series” on my SivaLabs YouTube Channel. This “SpringBoot Tips Series” is to help people who are new to SpringBoot to learn how to use SpringBoot with a keen focus on understanding how it works behind the scenes. Longer version I have been working with SpringBoot for several years, and I have written couple of books on it too.

Continue reading »

My attempt to understand why people perceive Java as complex

I work as an Architect/TechLead/SeniorDeveloper depending on client engagement. And, Java is the primary programming language that I have used most of my career. In recent years I got an opportunity to work with Go, NodeJS and .Net Core technologies too. I find Java, especially with SpringBoot, a solid platform to build enterprise grade applications. Occasionally there comes a discussion of technology selection, and I noticed some people don’t prefer/like Java.

Continue reading »

Code simplicity by Abstraction vs Verbosity

Java is and has been the primary programming language I have used throughout my career. If I want to build something quick for a prototype or if I need to pick the tech stack with a tight deadline then Java is my first choice. Especially after Java 8 it becomes more and more feature rich and powerful. On top of it with frameworks like SpringBoot, Quarkus and Micronaut building enterprise grade applications becomes a breeze.

Continue reading »

How I dealt with burn out?

A month ago I was constantly feeling stressed out, tired and not getting proper sleep. To put it simply I got burned out. The interesting thing is it is not because of my official work pressure. Currently, I am working with a cool client, we are delivering the features on time and the team is friendly…I have nothing to complain about my official work. So I thought (and tweeted) it might be because of the things I do in addition to my regular job.

Continue reading »