Spring Boot JsonNode

In computer science, marshalling is the process of transforming the representation of an object to a data format suitable for storage or transmission. In this technical post we will describe how we can marshall and unmarshall using Jackson, JsonNode and Spring Boot. If you want to know more about how to create Spring Webflux please go to my previous post getting started with Spring Webflux here. First let’s create a new Spring Boot Webflux project: [Read More]

Spring Webflux Multi-Module

In this technical post, we will review how to build a multi-module project using Gradle and Maven with Spring Boot. NOTE: If you need to know what tools you need to have installed in your computer in order to create a Spring Boot basic project, please refer my previous post: Spring Boot. Let’s start creating a new Spring Boot project with Webflux as a library: spring init --dependencies=webflux,lombok --build=gradle --language=java library Here is the complete build. [Read More]

Webclient Cucumber and Junit 5

This time I will show you how to combine Webflux WebClient along with Cucumber and Junit 5 to consume GitHub API v3 public REST API. First, let’s start creating a new Spring Boot project with Webflux and Lombok as dependencies: spring init --dependencies=webflux,lombok --build=gradle --language=java spring-boot-web-client Here is the complete build.gradle file generated: plugins { id 'org.springframework.boot' version '2.7.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.jos.dem.webclient' version = '0. [Read More]

Spring Webflux Cucumber

BDD (Behavior-driven development) is a technique very similar to implement UAT (User Acceptance Testing) in a software project. Usually is a good idea to use BDD to represent how users can define application behaviour, so in that way you can represent user stories in test scenarios aka. feature testing. This time I am going to show you how integrate Cucumber to a Spring Webflux application, Cucumber is a very powerful testing framework written in the Ruby programming language, which follows the BDD methodology. [Read More]

Spring Boot JMS

Java Message Service is an API for sending and receiving messages. It is an implementation to Producer-Consumer Design Pattern. This technique is usually implemented when you have a time consuming process and you need to avoid that a client is waiting for completing that process. To put this in context let’s think about a scenario where we could use it. The first thing that comes to my mind is an email delivery process. [Read More]

Spring Webflux with Thymeleaf

If you need to render HTML for web and stand alone applications and want to have reactive Spring Webflux as backend, this technical post is for you, because this time we will go through the process to create a basic project in Spring Webflux with Thymeleaf. NOTE: If you need to know what tools you need to have installed in your computer in order to create a Spring Boot basic project, please refer my previous post: Spring Boot [Read More]

Spring Boot Testing the Web Layer

In this technical post, we will go through the process of testing a web layer using MockMvc. MockMvc helps to test Spring Boot controllers with auto-configuration, if you want to know more about how to create Spring Boot application please go to my previous post getting started with Spring Boot here. As the project target to test we will use Spring Boot Swagger. Please consider this controller. package com.josdem.swagger.controller; import com. [Read More]

Spring Boot Parameters

In this technical post, we’ll discuss how to pass system properties as arguments to a Spring Boot application. NOTE: If you need to know what tools you need to have installed in your computer in order to create a Spring Boot basic project, please refer my previous post: Spring Boot Then execute this command in your terminal. spring init --dependencies=webflux --language=java --build=maven spring-boot-parameters This is the build.gradle file generated: buildscript { ext { springBootVersion = '2. [Read More]

Spring Boot Appium & Cucumber

Appium is an open-source tool for automating native, mobile web, and hybrid applications on both iOS and Android. In this post we will review how to do feature testing using Spring Boot, Appium, Cucumber and Junit5. NOTE: If you need to know what tools you need to have installed in your computer in order to create a Spring Boot basic project, please refer my previous post: Spring Boot Then execute this command in your terminal. [Read More]

Spring Boot Oauth2 with Google

This time I will show you how to build a basic Spring Boot application with Google authentication using Oauth2. NOTE: If you need to know what tools you need to have installed in yout computer in order to create a Spring Boot basic project, please refer my previous post: Spring Boot Then execute this command in your terminal: spring init --dependencies=web,security,thymeleaf --language=groovy --build=gradle spring-boot-oauth2 This is the build.gradle generated file: [Read More]