Class HttpApiV2Controller
Contains common functionality for all the GX2 APIv2 controllers. You can use the $api instance in the child-controllers in order to gain access to request and response information. The $uri variable is an array that contains the requested resource path.
You can use a protected "__initialize" method in your child controllers for performing common operations without overriding the parent constructor method.
This class contains some private methods that define the core operations of each controller and should not be called from a child-controller (like validation, authorization, rate limiting). The only way to disable the execution of these methods is to override the controller.
package |
Default |
---|
__construct(\Slim\Slim $api, array $uri)
Call this constructor from every child controller class in order to set the Slim instance and the request routes arguments to the class.
deprecated |
The "__initialize" method will is deprecated and will be removed in a future version. Please use the new "init" for bootstrapping your child API controllers. |
---|---|
Throws |
|
\Slim\Slim
Slim framework instance, used for request/response manipulation.
array
This array contains all the segments of the current request, starting from the resource.
delete()
apiVersion |
2.5.0 |
---|---|
apiName |
DeleteManufacturers |
apiGroup |
Manufacturers |
apiDescription |
Removes a manufacturers record from the system. This method will always return success even if the manufacturers does not exist (due to internal ManufacturersWriteService architecture decisions, which strive to avoid unnecessary failures). |
apiExample |
{curl} Delete Manufacturers with ID = 84 curl -X DELETE --user admin@shop.de:12345 http://shop.de/api.php/v2/manufacturers/84 |
apiSuccessExample |
{json} Success-Response { "code": 200, "status": "success", "action": "delete", "manufacturersId": 84 } |
get()
apiVersion |
2.5.0 |
---|---|
apiName |
GetManufacturers |
apiGroup |
Manufacturers |
apiDescription |
Get multiple or a single manufacturers record through the GET method |
apiExample |
{curl} Get All Manufacturers records curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/manufacturers {curl} Get Manufacturers record With ID = 982 curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/manufacturers/982 |
apiError |
400-BadRequest Manufacturers data were not provided or manufacturers record ID was not provided or is invalid. 404-NotFound Manufacturers record could not be found. |
apiErrorExample |
Error-Response (Missing or invalid ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Manufacturers record ID was not provided or is invalid." } Error-Response (Manufacturers Not Found) HTTP/1.1 404 Not Found { "code": 404, "status": "error", "message": "Manufacturers record could not be found." } |
getCallableResource( $controller, array $mappedURI, \Slim\Slim $api)
array
\Slim\Slim
patch()
apiVersion |
2.6.0 |
---|---|
apiName |
UpdateManufacturers |
apiGroup |
Manufacturers |
apiDescription |
Use this method if you want to update an existing manufacturers record. |
apiParamExample |
{json} Manufacturers entity { "name": "Breitling", "image": "manufacturers/breitling-logo.png", "urls": { "EN": "https://breitling.com", "DE": "https://breitling.de" } } |
apiParam |
{String} name Name of manufacturer. {String} image Path to manufacturers image. {Object} urls Object with language code as key and the language specific url as value. |
apiSuccess |
(200) Request-Body If successful, this method returns the complete manufacturers resource in the response body. |
apiSuccessExample |
{json} Success-Response { "id": 2, "name": "Breitling", "image": "manufacturers/breitling-logo.png", "dateAdded": "2017-09-29 13:42:46", "lastModified": "2017-09-29 13:42:46", "urls": { "EN": "https://breitling.com", "DE": "https://breitling.de" } } |
apiError |
400-BadRequest Manufacturers data were not provided or manufacturers record ID was not provided or is invalid. 404-NotFoundRequest Manufacturers data were not provided or manufacturers record ID was not provided or is invalid. |
apiErrorExample |
Error-Response (Empty request body) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Manufacturers data were not provided." } Error-Response (Missing or invalid ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Manufacturers record ID was not provided or is invalid." } Error-Response (Entity not found) HTTP/1.1 400 Bad Request { "code": 404, "status": "error", "message": "Manufacturer entity was not found with provided id [ID]" } |
post()
apiVersion |
2.6.0 |
---|---|
apiName |
CreateManufacturers |
apiGroup |
Manufacturers |
apiDescription |
This method enables the creation of a new Manufacturers into the system. |
apiParamExample |
{json} Manufacturers entity { "name": "Breitling", "image": "manufacturers/breitling-logo.png", "urls": { "EN": "https://breitling.com", "DE": "https://breitling.de" } } |
apiParam |
{String} name Name of manufacturer. {String} image Path to manufacturers image. {Object} urls Object with language code as key and the language specific url as value. |
apiSuccess |
(201) Request-Body If successful, this method returns the complete manufacturers resource in the response body. |
apiSuccessExample |
{json} Success-Response { "id": 2, "name": "Breitling", "image": "manufacturers/breitling-logo.png", "dateAdded": "2017-09-29 13:42:46", "lastModified": "2017-09-29 13:42:46", "urls": { "EN": "https://breitling.com", "DE": "https://breitling.de" } } |
apiError |
400-BadRequest The body of the request was empty. |
apiErrorExample |
Error-Response HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Manufacturers data were not provided." } |
DEFAULT_PAGE_ITEMS
var |
---|
DEFAULT_CONTROLLER_NAME
var |
---|
DEFAULT_RATE_LIMIT
var |
---|
DEFAULT_RATE_RESET_PERIOD
var |
---|