★ GitHub ⬇ Releases 💬 #taffy on CFML Slack ⚖ Apache-2.0
Write REST APIs in CFML — without the boilerplate.
Taffy is a full-featured REST framework for ColdFusion and Lucee. Drop a
CFC into your /resources/ folder, add a URI annotation, and you have an API.
Content negotiation, caching hooks, CORS, JSONP, an interactive dashboard,
OpenAPI JSON, and custom serializers — all included.
Download v4.0.0 Quickstart → Read the Docs
Why Taffy?
- One-file APIs A working API fits in a tweet. Seriously — inheritance and convention do the heavy lifting.
- Convention over config URI lives on the CFC. HTTP verbs map to CFC methods. That's the contract.
- Built-in dashboard Interactive API explorer at your index.cfm. Try every endpoint from a browser without writing a client.
-
Content negotiation
JSON, XML, JSONP, custom serializers — chosen by
Acceptheader or extension. You pick the defaults. - OpenAPI out of the box Auto-generated OpenAPI/Swagger JSON for every route, new in v4. Point your favorite tooling at it and go.
- Pluggable everything Bring your own bean factory, serializer, status reporter, or caching strategy. The hooks are there.
Quickstart: Your First API
Three files. That's the whole API.
Application.cfc
component extends="taffy.core.api" {}index.cfm
<!-- intentionally empty -->/resources/hello.cfc
component extends="taffy.core.resource" taffy_uri="/hello" {
function get(){
return rep( [ "hello", "world" ] );
}
}Point a browser at index.cfm and you get the Taffy dashboard. Hit
/hello and you get JSON. Add a post() method — that's your POST handler.
Add taffy_uri="/hello/{name}" — now name is an argument.
Read the full Getting Started guide →
Current Release
Taffy 4.0.0 is the latest stable release. Release notes · Download · Docs
All Versions
Taffy keeps every version's docs online forever — because nobody has time to keep every framework and every dependency up to date. If you're still on an older version, the docs that shipped with it still work.
Taffy 4.x
Taffy 3.x
Taffy 2.x
Community
- 💬 Join #taffy on the CFML Slack
- 🐛 Report issues on GitHub
- 🙋 Contribute
- 📜 Changelog
