← All games

Spring Request Boundary Lab

Design Spring controllers, validation, service delegation, and safe Problem Details responses.

Concept
Spring HTTP request boundaries
Difficulty
Intermediate
Play time
8-10 minutes
Path
Spring Production

Interactive scenario

Playable game area: Make the next backend decision

Use the controls below. Feedback appears immediately and final scores stay in this browser.

Concept notes

Why this decision matters

Spring Request Boundary Lab is focused practice for Spring HTTP request boundaries. It explains why each answer is safe, risky, or production-ready.

Turn untrusted HTTP input into a deliberate Spring application command and a stable response.

Learning objectives

  • Validate transport input before application logic.
  • Keep controllers focused on HTTP translation.
  • Publish stable errors without leaking internals.

How to play

  1. Inspect the incoming request and controller role.
  2. Choose the safe boundary action.
  3. Review the public error contract.

Scoring

  • Correct boundary decisions add 250 points.
  • Leaky or unstable responses enter local review.
  • A perfect run scores 1,000.

Backend concept notes

Controllers translate HTTP while services own application use cases and transaction boundaries.

Validation and exception translation create a stable public contract before internal details escape.

Common mistakes

  • Putting business logic in controllers.
  • Returning raw exceptions.
  • Treating all failures as HTTP 200 or 500.

Review misses from this game

FAQ

Short answers for how this game fits backend interview and study practice.

Where should request validation happen?

Validate transport shape at the controller boundary and enforce domain invariants inside the application or domain boundary.

Should a controller start database transactions?

Usually the service use-case boundary should own the transaction so other entry points can reuse it.

Leaderboard

Top 10 scores for the current ruleset. No account required.

Loading leaderboard...

    Finish the game to load your latest local score.