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()));
}