be-api-review

Audits Spring WebFlux REST API contracts for HTTP semantics, versioning, and web-layer consistency.

1|Updated Feb 19, 2026
One-click install
npx skills add https://github.com/ohmyhotelco/hare-cc-plugins --skill be-api-review-ohmyhotelco
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: be-api-review
Source: https://github.com/ohmyhotelco/hare-cc-plugins/tree/main/backend-webflux-plugin/skills/be-api-review
Command: npx skills add https://github.com/ohmyhotelco/hare-cc-plugins --skill be-api-review-ohmyhotelco

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? REST APIs built with Spring WebFlux often drift from HTTP semantics and internal conventions as they grow — wrong verbs, missing status codes, unhandled domain exceptions falling through to 500, and mixed RouterFunction/@RestController styles. This Skill audits your web layer against a defined rule set and reports every violation with exact file and line locations. ## Core Features & Use Cases - HTTP Semantics Audit: Verifies method usage (POST/GET/PUT/PATCH/DELETE), expected status codes, kebab-case plural URLs, and consistent URL versioning conventions. - Web-Layer Consistency Check: Detects mixed RouterFunction and @RestController usage within the same domain against the configured webLayer setting. - Exception & Pagination Review: Flags domain exceptions without .onErrorResume/@ExceptionHandler mappings and list endpoints missing page size clamps or pagination metadata. - Use Case: Before merging a new EmployeeHandler, run the audit to catch that EmployeeNotFoundException has no error mapping and would surface as a 500 instead of a 404. ## Quick Start Ask the assistant to run be-api-review on a specific handler or controller file, or on the whole codebase, to audit the REST API contracts.

Frequently Asked Questions about be-api-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit a Spring WebFlux REST API for HTTP semantics?▼

Run the audit against a router, handler, or controller file, or against the whole codebase when no argument is given. It checks HTTP method usage, expected status codes, URL patterns, exception mappings, and pagination, then reports each issue with severity and file:line location.

What is the difference between RouterFunction and @RestController in WebFlux?▼

RouterFunction/HandlerFunction is the functional web style using ServerRequest and ServerResponse, while @RestController is the annotated style using @GetMapping and @RequestBody. The audit enforces one style per domain package based on the configured webLayer setting.

Does the audit work with both functional and annotated Spring controllers?▼

Yes, it scans both RouterFunction @Bean definitions and @RestController classes. It reads the webLayer value from the plugin config and flags mixed styles within the same domain package as warnings.

Why do unhandled domain exceptions matter in WebFlux handlers?▼

Without an .onErrorResume mapping or @ExceptionHandler, domain exceptions fall through to WebFlux's default error handling and surface as 500 Internal Server Error. The audit flags each unmapped domain exception as critical and suggests the correct status mapping.

When is API versioning flagged during the audit?▼

Versioning is only flagged when the codebase already uses version segments like /v1/ inconsistently within a domain. If no route uses versioning at all, its absence is not flagged since there is no established convention to violate.