Stud.IP  6.0
JsonApiPlugin Interface Reference

Public Member Functions

 registerAuthenticatedRoutes (\Slim\Routing\RouteCollectorProxy $group)
 
 registerUnauthenticatedRoutes (\Slim\Routing\RouteCollectorProxy $group)
 
 registerSchemas ()
 

Detailed Description

Stud.IP-Plugins, die dieses Interface implementieren, können JSON-API-Routen zu Verfügung stellen.

Member Function Documentation

◆ registerAuthenticatedRoutes()

registerAuthenticatedRoutes ( \Slim\Routing\RouteCollectorProxy  $group)

In dieser Methode können Plugins eigene autorisierte Routen eintragen lassen.

Dazu müssen am übergebenen -Objekt die Methoden ::get, ::post, ::put, ::delete oder ::patch aufgerufen werden.

Beispiel: class Blubber ... implements JsonApiPlugin { public function registerAuthenticatedRoutes( $group) { $group->get('/blubbers', BlubbersIndex::class); } [...] }

Parameters
\Slim\Routing\RouteCollectorProxy$groupdie Slim-Applikation, in der das Plugin Routen eintragen möchte
Returns
void

◆ registerSchemas()

registerSchemas ( )

In dieser Methode können Plugins Schemata den verwendeten Model-Klassen (also in der Regel SORM-Klassen) zuordnen.

Wenn man in einer JSON-API-Route (als zum Beispiel einem Unterklasse von ), Models zurückgeben möchte, müssen für diese Models Schemata hinterlegt worden sein.

Beispiel: class Blubber ... implements JsonApiPlugin { public function registerSchema() { return [ class => class ]; } [...] }

Returns
array ein Array von Zuordnungen von Model-Klassennamen zu den entsprechenden Schema-Klassennamen

◆ registerUnauthenticatedRoutes()

registerUnauthenticatedRoutes ( \Slim\Routing\RouteCollectorProxy  $group)

In dieser Methode können Plugins eigene Routen ohne Autorisierung eintragen lassen.

Dazu müssen am übergebenen -Objekt die Methoden ::get, ::post, ::put, ::delete oder ::patch aufgerufen werden.

Beispiel: class Blubber ... implements JsonApiPlugin { public function registerUnauthenticatedRoutes( $group) { $group->get('/blubbers', BlubbersIndex::class); } [...] }

Parameters
\Slim\Routing\RouteCollectorProxy$groupdie Slim-Applikation, in der das Plugin Routen eintragen möchte
Returns
void

The documentation for this interface was generated from the following file: