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
Copied!
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
Copied!
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()));
}
Über den Autor
Krzysztof Napora
Krzysztof Napora
Krzysztof Napora
Prev Next