Điểm:0

Tạo nút theo bài đăng Cuộc gọi Api không thành công với thông báo "Không thể xác định gói loại thực thể: trường \u0022type\u0022 bị thiếu."}

lá cờ cn

Tôi đang cố gắng tạo một nút thông qua API Drupal nhưng tôi gặp phải lỗi này:

Gặp lỗi 'Thông báo PHP: PHP Lỗi nghiêm trọng: Uncaught GuzzleHttp\Exception\ClientException: Lỗi máy khách: `POST https://site.it/entity/node?_format=hal_json` dẫn đến phản hồi `422 Thực thể không thể xử lý`: \n{"nội dung":"Không thể xác định gói loại thực thể: thiếu trường \u0022type\u0022."}

Đây là chức năng của tôi:

hàm công khai createFaq($notes, $telegram_id){
  $url = "/entity/node?_format=hal_json"; 
  $opt = [
    'tiêu đề' => self::$baseHeader,
    'body' => json_encode([
      [
        'type' => [ [' target_id' => 'faq'] ],
        'tiêu đề' => 'tiêu đề', 
        'utente' => [ [ 'target_id' => '123462' ] ],
        'field_domanda' => [ [ 'value' => $notes['domanda'] ] ],
        'field_presenza' => [ [ 'value' => $notes['presenza'] == "Si"? đúng sai ] ],
      ]
    ])
  ];

  $response = $this->client->request('POST', $url , $opt);
  $r = json_decode( $response->getBody());
  trả lại $r; 
}

Nhưng nó thực sự kỳ lạ, bởi vì chức năng khác này đang hoạt động:

hàm tĩnh công cộng createUser($title){
  $url= "/entity/node?_format=hal_json"; 
  $opt = [
    'tiêu đề' => self::$baseHeader,
    'body' => json_encode([
      'tiêu đề' => [ [ 'giá trị' => $tiêu đề ] ],
      'type' => [ [ 'target_id' => 'bài viết' ] ],
    ])
  ];

  $response = $this->client->request('POST', $url , $opt);
  $r = json_decode( $response->getBody());
  trả lại $r; 
}

Ai đó có thể hiểu lỗi của tôi?

berliner avatar
lá cờ bd
Ví dụ thứ hai (đang hoạt động) của bạn có nội dung POST này `['type' => ...]` trong khi ví dụ đầu tiên nó được bao bọc trong một mảng bổ sung: `[['type' => ...]]`.
Shyghar avatar
lá cờ cn
Bạn đúng rồi!! Cảm ơn bạn
Điểm:0
lá cờ cn

Đây là mã tôi đã sử dụng để tạo một nút bằng cách sử dụng api còn lại:

điểm cuối: /node?_format=hal_json

Phương pháp: BƯU KIỆN

Thân thể:

{
  "Tiêu đề": [
    {
      "giá trị": "Đây là một câu hỏi"
    }
  ],
  "trường_câu hỏi": [
    {
      "giá trị": "Đây là câu hỏi"
    }
  ],
  "field_options": [
    {
      "value": "Đây là tùy chọn phù hợp"
    },
    {
      "value": "Đây không phải là lựa chọn phù hợp"
    },
    {
      "value": "Đây chắc chắn không phải là lựa chọn phù hợp"
    },
    {
      "value": "Đây là lựa chọn ngớ ngẩn nhất"
    }
  ],
  "loại": [
    {
      "target_id": "câu hỏi"
    }
  ]
}

Kích hoạt Giao diện người dùng còn lại module để kiểm tra xem điểm cuối có tồn tại hay không. Trên thực tế, tôi không thể tìm thấy plugin đề xuất điểm cuối này nhưng khi bật Rest UI, tôi đã thấy URI này để đăng các loại nội dung.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.