ManufacturersApiV2Controller

Extends \HttpApiV2Controller

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

Methods

AbstractApiV2Controller Constructor

__construct(\Slim\Slim $api, array $uri) 
inherited

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
\HttpApiV2Exception

Through _validateRequest

Arguments

$api

\Slim\Slim

Slim framework instance, used for request/response manipulation.

$uri

array

This array contains all the segments of the current request, starting from the resource.

delete

delete() 
api
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

get() 
api
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

getCallableResource( $controller, array $mappedURI, \Slim\Slim $api) 
inherited static

Arguments

$controller

$mappedURI

array

$api

\Slim\Slim

patch

patch() 
api
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

post() 
api
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." }

Constants

Defines the default page offset for responses that return multiple items.

DEFAULT_PAGE_ITEMS
inherited
var

Default controller to be loaded when no resource was selected.

DEFAULT_CONTROLLER_NAME
inherited
var

Defines the maximum request limit for an authorized client.

DEFAULT_RATE_LIMIT
inherited
var

Defines the duration of an API session in minutes.

DEFAULT_RATE_RESET_PERIOD
inherited
var

Properties