Skip to content

fix: add SPA forwarding controller for React Router#40

Merged
tusharkhatriofficial merged 1 commit into
mainfrom
dev
Feb 18, 2026
Merged

fix: add SPA forwarding controller for React Router#40
tusharkhatriofficial merged 1 commit into
mainfrom
dev

Conversation

@tusharkhatriofficial

Copy link
Copy Markdown
Owner

Spring Boot was returning 404 on direct navigation to React routes like /settings, /rules, etc. This controller forwards all non-API, non-static paths to index.html so React Router handles the routing.

Excludes: /api, /ws, /swagger, /v3, /webjars, /static, /assets

Spring Boot was returning 404 on direct navigation to React routes
like /settings, /rules, etc. This controller forwards all non-API,
non-static paths to index.html so React Router handles the routing.

Excludes: /api, /ws, /swagger, /v3, /webjars, /static, /assets
@tusharkhatriofficial
tusharkhatriofficial merged commit 5b73f36 into main Feb 18, 2026
2 checks passed

@charliecreates charliecreates Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SPA forwarding approach is correct in intent, but the current route pattern is brittle: it can miss some SPA routes and can over-exclude legitimate paths (e.g. /apiary/...) due to prefix matching. The mapping also risks forwarding root-level static files (e.g. robots.txt, manifest.webmanifest) to index.html unless you guard against dotted paths. Adjusting the patterns to (1) match both single- and multi-segment routes reliably and (2) exclude file-like paths will make this robust across common Spring routing behaviors.

Summary of changes

What changed

  • Added a new Spring MVC controller SpaForwardingController (src/main/java/com/eventara/config/SpaForwardingController.java).
  • Introduced a @GetMapping that forwards / and most non-API/non-static paths to forward:/index.html so React Router can handle client-side routing.
  • Implemented exclusions via a regex path variable to avoid forwarding requests under api, ws, swagger, v3, webjars, static, assets, and favicon.ico.

@charliecreates
charliecreates Bot removed the request for review from CharlieHelps February 18, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant