NAME
Spica::Spec::Declare
SYNOPSIS
package Your::Spec;
use Spica::Spec::Declare;
client {
    name 'example';
    endpoint 'search' => '/examples' => [qw(access_token)];
    columns (
        'access_token' => +{from => 'accessToken', no_row_accessor => 1},
        'id'           => +{from => 'exampleId'},
        'name'         => +{from => 'exampleName'},
        'status',
    );
};
DESCRIPTIOM
FUNCTIONS
client(\&callback)
client defines the specification of the API. client In Spica is a power that defines the structure of each data, not URI.
client {
    .. client's settings ..
};
name($client_name)
name defines the name of the client. name fields are required.
client {
    name 'client_name';
};
on fetch calling:
$spica->fetch('client_name', ...);
endpoint
endpoint defines the path and requires param. endpoint it is possible to define more than one against client one.
- endpoint($endpoin_name, $path, \@requires)
 - 
Make the request using the GET method as the initial value in this definition. If you want to specify the HTTP method, please refer to the matter.
client { name 'client_name'; endpoint 'endpoint_name' => '/path/to' => [qw(id)]; };on fetch:
$spica->fetch('client_name', 'endpoint_name', \%param);If you specify a string of
defaultto$endpoint_name, you can omit the$endpoint_namewhen you use the Spica->fetch.client { name 'client_name'; endpoint 'default' => '/path/to' => [qw(id)]; };on fetch:
$spica->fetch('client_name', \%param); - endpoint(\%settings)
 - 
endpointdefines the path and request method and requires param.client { name 'client_name'; endpoint 'default' => +{ method => 'POST', path => '/path/to', requires => [qw(id)], }; }; 
receiver
Specify an Iterator class. Spica::Receiver::Iterator Is used by default.
client {
    ...
    receiver 'Your::Iterator';
};
row_class
Specify an Row class. Spica::Receiver::Row::* Is used by default.
client {
    ...
    row_class 'Your::Row::Example';
};