Puncte:0

Apelurile API REST sunt întotdeauna stocate în cache

drapel cn

În Drupal 9.2.6 am o problemă de cache.

Codul pe care îl folosesc este următorul.

$returnValues ​​= [
  'value' => 'test',
  'time' => time(),
];

$răspuns = new ResourceResponse($returnValues, 200, []);
$disable_cache = new CacheableMetadata();
$disable_cache->setCacheMaxAge(0);
$răspuns->addCacheableDependency($disable_cache);
returnează $răspuns;

Acest lucru duce la această eroare.

TypeError: Argumentul 1 transmis către Symfony\Component\Serializer\Encoder\ChainEncoder::getEncoder() trebuie să fie de tipul șirului, dat nul, numit în /webspace/public/vendor/symfony/serializer/Encoder/ChainEncoder.php on line 49 în Symfony\Component\Serializer\Encoder\ChainEncoder->getEncoder() (Zeile 80 în /webspace/public/vendor/symfony/serializer/Encoder/ChainEncoder.php)

Nici asta nu funcționează.

$răspuns = new ResourceResponse($returnValues);
$response->addCacheableDependency($returnValues);
returnează $răspuns;

Ce s-a întâmplat?

Kevin avatar
drapel in
Deci nu vrei să fie stocat în cache? Dar adăugați o dependență care poate fi stocată în cache? https://drupal.stackexchange.com/questions/182863/rest-get-without-caching
YusufFidan avatar
drapel cn
@apaderno Acesta este, de asemenea, stocat în cache: $răspuns = răspuns nou(); $răspuns->setStatusCode(200); $response->setContent(json_encode($returnValues)); returnează $răspuns;
drapel us
Această întrebare are probabil câteva răspunsuri valide: https://drupal.stackexchange.com/q/182863/10645
YusufFidan avatar
drapel cn
Nu știu de ce - dar astăzi funcționează conform așteptărilor.
Puncte:0
drapel ph

Utilizare Drupal\rest\ModifiedResourceResponse în loc de ResourceResponse, atunci nu va fi stocat în cache.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.