Skip to main content

Programming

Customizing REST API Error Response in Spring Boot / Spring-Security-OAuth2

Defining error format is important part of REST API design.

Spring-Boot and Spring Security provide pretty nice error handling for RESTful APIs out of the box. Although it has to be documented, especially when contract-first approach to API design is used.

It is good idea to follow some common format for error responses. But OAuth2 specification and Spring Boot format may not satisfy those requirements.

Monitoring your application locally with NewReclic

The New Relic Digital Intelligence Platform provides actionable insights to drive digital business results. You can monitor your application and infrastructure performance so you can quickly resolve issues and improve digital customer experiences.

Following instruction should help you to connect your application to NewRelic platform and customize application events sent to the platform.

Logging Policy

There are different points of view on how logging levels should be used in code. I will share mine.

My assumption is: “There should be no errors in logs when everything is fine.”

How to Start Testing UI Before Backend is Ready

Testing web UIs before the backend is ready: create UI mockups first using fake data, turn them into a functional prototype, test thoroughly, then build the backend to match the UI data contract. Integrate frontend and backend at the end. Works for single-page apps and multi-page sites.

REST API Design Resources

The article shares resources on designing REST APIs, including a video presentation covering topics like JSON formats, linking, pagination, HTTP methods, versioning, error responses, and security. It also links to REST API guidelines from Zalando and articles on authentication.

Selenium Tests with Maven and Selenide

The article explains how to use Selenide, a wrapper around Selenium WebDriver, to simplify writing UI tests in Java. It provides a sample Maven POM file with configuration options for running tests in different browsers, locally or on a CI server, and leaving the browser open after tests.