Yuri Mednikov

Tag: Software design

Spring HandlerInterceptor in Spring MVC

In software development there is a big number of cases when you need somehow to catch a request coming to server and do some pre-processing or post-processing. For example, it is must for…

Testing Spring Webflux router functions

Router functions play a similar role in Spring Webflux as controllers in Spring MVC. Both are responsible for handling HTTP requests/responses. However, compare to controllers, new approach is not represented by a single…

Validation for Spring Webflux APIs with Yavi

In Spring MVC a server-side validation was implemented using annotations. We could just put @Valid before the body payload in the controller method and Spring did all dirty work for us. On the…

Exception handling in Clojure

In some form or another, but exceptions exist in almost any languages. Due to the fact, that Clojure actually runs on JVM, it inherits its exception system from Java. From a technical point…

Home made JWT authentication for Javalin

An authentication with tokens became a must-have feature for modern web apps. It suits natively to single page applications and mobile applications. While Spring is de facto standard in Java ecosystem, there are…

You don’t need Hibernate with Spring Webflux and R2DBC

One of issues when you work with relational databases in Java is that they are unable to translate object relationships (such as composition) due to the tabular nature of data sources. That means…

Testing Spring reactive services

Unit tests serve to verify individual components, mostly on business logic level, and to ensure that components perform as expected. In Spring Webflux apps this level is a level of services. Here we…

Error handling in Spring Webflux

The topic of error handling in web applications is very important. From a client perspective it is essential to know on how was the request proceeded and in case of any error is…

Two-factor authentication for Spring Webflux APIs

Multi-factor authentication became a common practice for many cases, especially for enterprise ones, or those that deal with sensitive data (like finance apps). Moreover, MFA is enforced (especially in the EU) by law…