From java-core
Reviews Java Spring Boot REST API controllers for HTTP methods, status codes, URL naming, DTOs, error formats, versioning, and security basics. Ideal for 'review my API' requests.
npx claudepluginhub ducpm2303/claude-java-plugins --plugin java-coreThis skill is limited to using the following tools:
Review the REST API design of the provided Java controller or endpoint code. Detect Spring Boot version from `pom.xml` to tailor advice.
Provides REST API standards for Spring Boot covering URL design, HTTP methods, DTOs, validation, error handling, pagination, and security headers. Use when creating or reviewing endpoints.
Reviews API and backend code for REST conventions, auth, validation, error handling, pagination, rate limiting, and test coverage.
Reviews public interfaces for API design quality including naming, method signatures, parameters, type safety, and REST endpoints. Use when evaluating usability and readability of class APIs or endpoints.
Share bugs, ideas, or general feedback.
Review the REST API design of the provided Java controller or endpoint code. Detect Spring Boot version from pom.xml to tailor advice.
GET must be idempotent and return 200 OK (or 404 if not found) — never 201POST for creation → return 201 Created with Location header pointing to the new resourcePUT for full replacement → 200 OK or 204 No ContentPATCH for partial update → 200 OK with updated resource or 204 No ContentDELETE → 204 No Content (not 200 with body)200 OK with null body when resource not found → must be 404200 OK for all errors → each error needs an appropriate 4xx/5xx code/users not /user, /orders not /getOrders/user-profiles not /userProfiles/getUser, /createOrder, /deleteItem → use HTTP method instead/users/{userId}/orders — max 2 levels deep; beyond that use query params/api/v1/users inconsistency — version should be consistent across all endpoints@Entity) directly → use DTOs@Valid on @RequestBody parameters → no input validation@RequestBody Map<String, Object> → use typed DTOs insteadPageableRecommend a consistent error response format:
{
"timestamp": "2024-01-15T10:30:00Z",
"status": 400,
"error": "Validation Failed",
"message": "name must not be blank",
"path": "/api/users"
}
Flag endpoints returning plain strings or stack traces as error responses.
/api/v1/) or header versioning@PreAuthorize or security config that should be protected@CrossOrigin(origins = "*") on production endpointsjava-security-reviewer agent for full OWASP review/java-test to generate controller tests with MockMvc