TYPO3\CMS\Core\Http\JsonReponse dont allow JsonSerializable and others
TYPO3\CMS\Core\Http\JsonReponse in Middlewares. The constructor allow
$data to be
mixed. Even the internal function allows
$data to be of any type. But between
jsonEncode is another function
setPayload wich only allows
$data to be type of
array. This results in the fact, that we can only respond arrays as JSON. But at least classes implementing @JsonSerializablev should be able to be responded too. Also, why isn't it possible to return other types as JSON too?
Remove the type annotation of
setPayload. There would be no harm, because
jsonEncode already checks for conversion errors. This should also not break anything.
public function setPayload(array $data = , $encodingOptions = self::DEFAULT_JSON_FLAGS): JsonResponse
public function setPayload($data = , $encodingOptions = self::DEFAULT_JSON_FLAGS): JsonResponse
#2 Updated by Gerrit Code Review 22 days ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/66016