Skip to main content

Action

An action contains the business logic to handle a request and produce a response. Fusio contains already many actions for common tasks i.e. to execute database operations or push data to a message queue.

Configuration

action_create

Name

The name of the action.

Class

The action class. Besides selecting an action you can also enter a custom action class by using the edit button.

Async

It is possible to execute an action in async mode which means that the action directly returns a 202 accepted response and the request gets executed later on in the background.

Config

All other input fields are action specific.

Development

To develop a custom action you need to create a class which implements the class Fusio\Engine\ActionAbstract. Through this it is possible to select this action at the backend. Beside selecting an action you can also click on the edit button to manually enter a class name.

In the following an example action:

<?php

namespace App\Action;

use Fusio\Engine\ActionAbstract;
use Fusio\Engine\ContextInterface;
use Fusio\Engine\ParametersInterface;
use Fusio\Engine\RequestInterface;

class HelloWorld extends ActionAbstract
{
public function handle(RequestInterface $request, ParametersInterface $configuration, ContextInterface $context): mixed
{
return $this->response->build(200, [], [
'hello' => 'world'
]);
}
}

If you add a constructor to your action Fusio will try to resolve the dependencies based on the DI container. More information about developing an custom action at our develop custom action page.