Puncte:0

Crearea nodului după apelul API post eșuat cu mesajul „Nu s-a putut determina pachetul de tip de entitate: câmpul \u0022type\u0022 lipsește.”}

drapel cn

Încerc să creez un nod prin API-ul Drupal, dar primesc această eroare:

Am primit eroarea „Mesaj PHP: Eroare fatală PHP: Uncaught GuzzleHttp\Exception\ClientException: Eroare client: `POST https://site.it/entity/node?_format=hal_json` a dus la un răspuns `422 Unprocessable Entity`: \n{"message":"Nu s-a putut determina pachetul de tip de entitate: câmpul \u0022type\u0022 lipsește."}

Aceasta este funcția mea:

funcția publică createFaq($note, $telegram_id){
  $url = "/entity/node?_format=hal_json"; 
  $opt = [
    'headers' => self::$baseHeader,
    „corp” => json_encode([
      [
        'type' => [ ['target_id' => 'întrebări frecvente'] ],
        'title' => 'titlu', 
        'utente' => [ [ 'target_id' => '123462' ] ],
        'field_domanda' => [[ [ 'value' => $note['domanda'] ] ],
        'field_presenza' => [ [ 'value' => $note['presenza'] == "Si"? adevarat fals ] ],
      ]
    ])
  ];

  $răspuns = $this->client->request('POST', $url , $opt);
  $r = json_decode( $răspuns->getBody());
  returnează $r; 
}

Dar este cu adevărat ciudat, pentru că această altă funcție funcționează:

funcția publică statică createUser($title){
  $url= "/entity/node?_format=hal_json"; 
  $opt = [
    'headers' => self::$baseHeader,
    „corp” => json_encode([
      'title' => [ [ 'value' => $title ] ],
      'type' => [[ [ 'target_id' => 'articol' ] ],
    ])
  ];

  $răspuns = $this->client->request('POST', $url , $opt);
  $r = json_decode( $răspuns->getBody());
  returnează $r; 
}

Poate cineva să înțeleagă eroarea mea?

berliner avatar
drapel bd
Al doilea exemplu (de lucru) are acest corp POST `['type' => ...]`, în timp ce primul exemplu îl are împachetat într-o matrice suplimentară: `[['type' => ...]]`.
Shyghar avatar
drapel cn
Ai dreptate!! Mulțumesc
Puncte:0
drapel cn

Acesta este codul pe care l-am folosit pentru a crea un nod folosind rest API:

Punct final: /node?_format=hal_json

Metodă: POST

Corp:

{
  "titlu": [
    {
      „value”: „Aceasta este o întrebare”
    }
  ],
  "field_question": [
    {
      „value”: „Aceasta este întrebarea”
    }
  ],
  „field_options”: [
    {
      „value”: „Aceasta este opțiunea potrivită”
    },
    {
      „value”: „Aceasta nu este opțiunea potrivită”
    },
    {
      „value”: „Aceasta nu este cu siguranță opțiunea potrivită”
    },
    {
      "value": "Aceasta este cea mai stupidă opțiune"
    }
  ],
  "tip": [
    {
      "target_id": "intrebare"
    }
  ]
}

Activați Rest UI modul pentru a verifica dacă punctul final există. De fapt, nu găsesc pluginul care să propună acest punct final, dar având Rest UI activat, am văzut acest URI pentru postarea tipurilor de conținut.

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.