Controller
onlyProvides()
Signature
Section titled “Signature”onlyProvides() — returns void
Available in: controller
Category: Provides Functions
Description
Section titled “Description”Use this in an individual controller action to define which formats the action will respond with.
This can be used to define provides behavior in individual actions or to override a global setting set with provides in the controller’s config().
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
formats | string | no | — | Formats to instruct the controller to provide. Valid values are html (the default), xml, json, csv, pdf, and xls. |
action | string | no | [runtime expression] | Name of action, defaults to current. |
Examples
Section titled “Examples”1. Restrict an action to HTML only
function show() {
// This action will only respond with HTML
onlyProvides("html");
}
2. Restrict an action to JSON and XML
function data() {
// Only allow JSON or XML responses
onlyProvides("json,xml");
}
3. Override global provides setting
component extends="Controller" {
function config() {
// Globally allow HTML and JSON
provides("html,json");
}
function exportCsv() {
// Override global, allow only CSV for this action
onlyProvides("csv");
orders = model("order").findAll();
}
}