Blog
08.12.2021
TYPO3 v11 Antwort-Schnittstelle
Mit der Veröffentlichung von Typo3 v11 gibt es eine wichtige Änderung, die alle Plugins betrifft, die den Controller Extbase verwenden. Jede Extbase-Aktion muss nun das PsrHttpMessageResponseInterface zurückgeben .
Diese Änderung folgt der Tatsache, dass Core TYPO3 nicht nur PSR-7 sondern auch PSR-17 folgt.
Nachfolgend ein paar Beispiele. Beginnen wir mit dem populärsten Beispiel. Content-Type-Header: text/html und Status 200 als Antwortcode.
PHP
public function listAction(): ResponseInterface { $records = $this->newsRepository->findAll(); $this->view->assign('records', $records); return $this->responseFactory->createResponse() ->mitAddedHeader('Content-Type', 'text/html; charset=utf-8') ->withBody($this->streamFactory->createStream($this->view->render())); }
Zweites Beispiel Content-Type: application/json und Antwortstatus 200
PHP
public function listApiAction(): ResponseInterface { $records = $this->newsRepository->findAll(); $this->view->assign('value', [ 'Datensätze' => $Datensätze ]); return $this->responseFactory ->createResponse() ->mitHeader('Content-Type', 'application/json; charset=utf-8') ->withBody($this->streamFactory->createStream($this->view->render())); }