OpenAPI 3 documentation for your Spring REST API with springdoc-openapi

Looking for the OpenAPI 3 compliant documentation for your Spring Boot-based project REST API?

As you know, there are many ways to achieve it (e.g. using the Springfox library). But which solution will be both integrated with the Spring ecosystem and OpenAPI 3 compliant?

Fortunately, the answer is springdoc-openapi. It’s the library that generates documentation almost automatically, without even providing configuration and thousands of cluttering annotations.

In this text, I’m going to show you how you can integrate your Spring Boot project with the springdoc-openapi library to generate nice API documentation which will be compatible with the OpenAPI 3 standard.

Continue reading OpenAPI 3 documentation for your Spring REST API with springdoc-openapi

Provide basic security for your Spring Boot application with Spring Security and Kotlin

When you’re creating your REST API, most of the time you don’t want it to be publically accessible. Moreover, sometimes you’d like to restrict certain paths for users with specific roles (for example administrators).

In this blog post, I’m going to provide very basic Spring Security integration for Spring Boot application written in Kotlin language.

Please note that I’m using the example REST API I provided in the previous article. So if you don’t have your Spring Boot REST API built yet, move through the steps I described there.

Continue reading Provide basic security for your Spring Boot application with Spring Security and Kotlin

Swagger documentation for your Spring Boot API with Springfox

If you’d like to provide Swagger documentation for your Spring Boot REST API in a nice way, you’re in the right place.

Today I’m going to show you how you can achieve it in an automated way, without using tons of annotations in your controllers.
Springfox is a nice tool that allows you to do it.

In this text, I’ll be using the REST API built previously in that text using Spring Boot and Kotlin language, as an example.

Continue reading Swagger documentation for your Spring Boot API with Springfox

REST API with Spring Boot and MongoDB using Kotlin

If you think about Kotlin you could probably think about Android and mobile development.
It’s true. When Google announced Kotlin as the preferred language for the Android platform, its overall popularity increased sharply.

According to The State of Developer Ecosystem 2019, the survey made by JetBrains (Kotlin language creators), 62% of Kotlin-based apps were mobile. But 41% of Kotlin projects were related to web back-end development.

Indeed, Kotlin may be a good choice for server-side development. Among other frameworks, Kotlin is one of the officially supported languages of the Spring Framework.

In this text, I’d like to show you how easy it is to create a Spring application using Kotlin. I’m going to implement a simple CRUD REST API with Spring Boot and MongoDB as a database using Kotlin as a language.

So, get started with implementation and try it yourself.

Continue reading REST API with Spring Boot and MongoDB using Kotlin

How to disable Liquibase in your JHipster project?

JHipster is a great tool to quickly build your application or just the prototype. And when you’re building your MVP you most of the time need to move fast.

Liquibase is a tool that comes by default with JHipster and it’s for database version control. It tracks the changes in the database schema but sometimes it can also be painful.

If you’re here, you’re probably looking for a way to disable it temporarily or once for good.

In this text, I’m going to show you how you can achieve it.

Continue reading How to disable Liquibase in your JHipster project?

Web scraper and RSS feed generator with Spring Boot

Rich Site Summary (RSS) is not quite state-of-art technology but thanks to its simplicity RSS feeds are still useful nowadays.

In this post I’ll show you how you can parse websites and provide your own RSS feed with Spring Boot and few useful libraries such as JSoup and ROME.

Please note: This post isn’t a step-by-step tutorial. The source code with fully working example can be found on GitHub.

Continue reading Web scraper and RSS feed generator with Spring Boot

Send push notifications from Spring Boot server-side application using FCM

As you probably noticed, I familiarize myself with the subject of Firebase Cloud Messaging push notifications recently.

This time I would like to share with you my push notifications server-side application. The app is made with the Spring Boot framework.

The provided example covers most common notifications sending use cases such as: sending push notification to a topic, directly to the users’ device, or sending messages with additional data payload.

This post is not a step-by-step tutorial. I’ll focus on the most important parts. A fully working example is available on GitHub.

If you don’t have a client-side application to receive push notifications yet, you should consider the use of the Ionic app I described earlier. Have fun!

Continue reading Send push notifications from Spring Boot server-side application using FCM

Serving robots.txt in Spring Boot application

What is robots.txt file?

The robots.txt file is a text file standard widely used in websites. Basically it tells search engine robots and other crawlers which pages and areas on your websites are allowed/disallowed for them to follow.

Continue reading Serving robots.txt in Spring Boot application