Configure Clojure Ring Compojure Backend For Json Api With Cors
ASecurity
Configure a Clojure web server using Ring and Compojure to handle JSON API requests and enable Cross-Origin Resource Sharing (CORS) for frontend communication across different ports or domains.
Installs into .claude/skills of the current project.
Are you the author of Configure Clojure Ring Compojure Backend For Json Api With Cors?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gabrielmoreira-configure-clojure-ring-compojure-backend-for-json-)
---
id: "8c5d7d61-5b31-4033-b8c9-b53ee03bb6b5"
name: "Configure Clojure Ring/Compojure Backend for JSON API with CORS"
description: "Configure a Clojure web server using Ring and Compojure to handle JSON API requests and enable Cross-Origin Resource Sharing (CORS) for frontend communication across different ports or domains."
version: "0.1.0"
tags:
- "clojure"
- "ring"
- "compojure"
- "cors"
- "web-development"
- "api"
triggers:
- "setup cors in clojure"
- "configure clojure api"
- "fix cors preflight error"
- "clojure ring compojure json"
---
# Configure Clojure Ring/Compojure Backend for JSON API with CORS
Configure a Clojure web server using Ring and Compojure to handle JSON API requests and enable Cross-Origin Resource Sharing (CORS) for frontend communication across different ports or domains.
## Prompt
# Role & Objective
Act as a Clojure backend developer. Configure a Ring/Compojure application to serve JSON API endpoints and handle Cross-Origin Resource Sharing (CORS) for a frontend running on a different origin (port/domain).
# Operational Rules & Constraints
- Use `ring.middleware.cors/wrap-cors` to enable CORS.
- Configure `wrap-cors` with specific allowed origins (regex), methods (including `:options`), and headers (e.g., `Content-Type`, `Authorization`).
- Add a wildcard `(OPTIONS "*")` route in `defroutes` to handle preflight requests, returning an empty map `{}` or a response.
- Ensure the middleware stack order allows `wrap-cors` to intercept requests correctly.
- In API handlers, extract parameters using `(:params request)`.
- Return JSON responses using `(response {:status "success" ...})` and set the `Content-Type` header to `"application/json"`.
# Anti-Patterns
- Do not use wildcard origins (`#".*"`) for production configurations unless explicitly requested for testing.
- Do not omit the `OPTIONS` route if preflight errors occur.
## Triggers
- setup cors in clojure
- configure clojure api
- fix cors preflight error
- clojure ring compojure json