Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Drupal 8 REST

Eingetragen von JenneMander (112)
am 10.10.2015 - 10:41 Uhr in
  • Allgemeines zu Drupal
  • Drupal 8.x oder neuer

Hallo Forum,
mir lässt das einfach keine Ruhe, ich scheine mich echt zu dämlich anzustellen oder etwas nicht zu raffen. Ich möchte gerne die Rest-API von D8 verwenden, dabei kommt momentan die Version Drupal 8 RC1 zum Einsatz.
Folgendes habe ich bereits gemacht:

Schritt 1: die Core-Module HAL, HTTP Basic Authentication, RESTful Web Services und Serialization, sowie zusätzlich REST UI installiert.

Schritt 2: neben dem Admin auch angemeldeten Usern (es handelt sich um eine lokale Installation) die Rechte für POST, DELETE, PATCH und GET gegeben.

Schritt 3: über die REST UI für alle vier Operationen auch die JSON-Unterstützung aktiviert

Schritt 4: GET getestet (DHC und HTTP-Requester verwendet)

URL=> http://localhost/d8rc1/node/1?_format=json
zusätzliche die Werte für die Authorization eingegeben, also Username und Passwort
Response:

{
    "nid": [
        {
            "value": "1"
        }
    ],
    "uuid": [
        {
            "value": "664dd492-8a8e-4663-8e15-21b3a7d34485"
        }
    ],
    "vid": [
        {
            "value": "1"
        }
    ],
    "type": [
        {
            "target_id": "article"
        }
    ],
    "langcode": [
        {
            "value": "en"
        }
    ],
    "title": [
        {
            "value": "Datensatznummer 1"
        }
    ],
    "uid": [
        {
            "target_id": "1",
            "url": "/user/1"
        }
    ],
    "status": [
        {
            "value": "1"
        }
    ],
    "created": [
        {
            "value": "1444406509"
        }
    ],
    "changed": [
        {
            "value": "1444406538"
        }
    ],
    "promote": [
        {
            "value": "1"
        }
    ],
    "sticky": [
        {
            "value": "0"
        }
    ],
    "revision_timestamp": [
        {
            "value": "1444406538"
        }
    ],
    "revision_uid": [
        {
            "target_id": "1",
            "url": "/user/1"
        }
    ],
    "revision_log": [
       
    ],
    "revision_translation_affected": [
        {
            "value": "1"
        }
    ],
    "default_langcode": [
        {
            "value": "1"
        }
    ],
    "path": [
       
    ],
    "body": [
        {
            "value": "<p>Dies ist ein Beispielnode um die Funktionalität zu prüfen.</p>\r\n",
            "format": "basic_html",
            "summary": ""
        }
    ],
    "comment": [
        {
            "status": "2",
            "cid": "0",
            "last_comment_timestamp": "1444406538",
            "last_comment_name": null,
        }
    ],
    "field_image": [
       
    ],
    "field_tags": [
        {
            "target_id": "1",
            "url": "/taxonomy/term/1"
        }
    ]
}

Schritt 5a: POST-Request zum Hinzufügen von Inhalten, dazu müssen wir uns erst einloggen um einen Session-Token zu erhalten:

URL => http://localhost/d8rc1/rest/session/token
Einstellung => Content-Type application/json
Request =>
{
"username":"myusername",
"password":"mypassword"
}

Response =>

RMyED7kg90mSwl_aLtDV0fG8pIbxifa5n1lKBrPINew

Mit diesem Session-Token arbeite ich dann weiter, jedoch bekomme ich auch einen Session-Token, wenn Passwort und Benutzername falsch sind.

Schritt 5b:
URL => http://localhost/d8rc1/entity/node
Einstellungen: Content-Type application/json
Accept application/json
X-CSRF-Token RMyED7kg90mSwl_aLtDV0fG8pIbxifa5n1lKBrPINew (hier natürlich den erhaltenen Sessiontoken einsetzen)
Authorization Benutzername/Passwort

Request:

{
    "title": [
        {
            "value": "TESTE NODE"
        }
    ],
    "type": [
        {
            "value": "article"
        }
    ],
    "_links": {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
    }
}

Als Response erhalte ich leider immer einen 400 Bad Request Fehler mit der Mitteilung

{
    "error": "A string must be provided as a bundle value."
}

Für Anregungen und Tipps bin ich euch sehr Dankbar, ich weiß leider nicht mehr an welcher Stelle ich noch etwas abändern könnte.

mit bestem Dank für die Hilfe
Jenne

‹ Probleme mit Umlauten nach Backup Drupal 8 REST ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Schau mal

Eingetragen von Sense (1518)
am 10.11.2015 - 03:49 Uhr

Schau mal hier:
https://www.drupal.org/node/2472451

sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

bin mir nicht sicher,

Eingetragen von maen (547)
am 10.11.2015 - 10:09 Uhr

habe mit drupal 8 noch nicht rumgefummelt, aber

{
    "title": [
        {
            "value": "TESTE NODE"
        }
    ],
    "type": [
        {
            "value": "article"
        }
    ],
    "_links": {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
    }
}

Warum steht bei deinem Fehlerverdacht der String nicht in Klammern, sozusagen als bundled value?

Ist aber geraten! Fange jetzt erst damit an.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke,

Eingetragen von JenneMander (112)
am 10.11.2015 - 19:50 Uhr

ich verstehe nicht genau was du meinst, aber wenn ich

{
    "title": [
        {
            "value": "TESTE NODE"
        }
    ],
    "type": [
        {
            "value": "article"
        }
    ],
    "_links": {
        "type": {
            ("href": "http://localhost/d8rc1/type/node/article")    //eventuell ist hier ein Fehler
        }
    }
}

erhalte ich lediglich:
{
"error": "quoted object property name expected"
}

Ich habe hiermit aber noch kaum Erfahrungen und weiß nicht wie das aussehen soll und unter JSON bundle value habe ich keine passende Antwort ergoogelt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

statt

Eingetragen von maen (547)
am 10.11.2015 - 20:02 Uhr

    "_links": {
        "type": {
            ("href": "http://localhost/d8rc1/type/node/article")    //eventuell ist hier ein Fehler
        }
    }

wohl eher:

    "_links": [
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
    ]

oder:

    "_links": [
        {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
     }
    ]

oder:

    "_links": [
        {
        "type": [ {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }]
     }
    ]

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, vielen Dank, doch leider

Eingetragen von JenneMander (112)
am 11.11.2015 - 19:47 Uhr

Hi, vielen Dank, doch leider klappt das immer noch nicht, ich bekomme jetzt jedoch den Fehler:
{
"error": "object value separator ',' expected"
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ohne zu wissen bei welcher Alternative

Eingetragen von maen (547)
am 11.11.2015 - 20:48 Uhr

aber ich denke dann klopp mal ein ',' hinter dieselbige!???

  • Anmelden oder Registrieren um Kommentare zu schreiben

Folgende Fehlermeldungen

Eingetragen von JenneMander (112)
am 13.11.2015 - 18:31 Uhr

Folgende Fehlermeldungen erhalte ich:
Variante A:

  "_links": [
        {
        "type":  {[
            "href": "http://localhost/d8rc3/type/node/article"   
        ]}
     }
    ]

Fehlermeldung:
{
"error": "quoted object property name expected"
}

Variante B:
"_links": {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"   
        }
    }

Fehler:
{
"error": "A string must be provided as a bundle value."
}

Variante C:
"_links": [
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"  
        }
    ]

Fehlermeldung:
{
"error": "array value separator ',' expected"
}

Variante C2:
"_links": [
        "type": {
            "href": "http://localhost/d8rc1/type/node/article",  //Mit allen Kombinationen der Kommapositionierung ausprobiert
        },
    ],

Fehlermeldung:
{
"error": "array value separator ',' expected"
}

Variante D
"_links": [
        {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
     }
    ]

Fehlermeldung:
{
"error": "A string must be provided as a bundle value."
}

Variante E
"_links": [
        {
        "type": [ {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }]
     }
    ]

Fehlermeldung:
{
"error": "A string must be provided as a bundle value."
}

Ich bin leider mit meinem Latein am Ende.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi,ich weiss nicht wie Du

Eingetragen von Hyp1 (1463)
am 14.11.2015 - 10:26 Uhr

Hi,

ich weiss nicht wie Du darauf kommst:

"_links": {
        "type": {
            "href": "http://localhost/d8rc1/type/node/article"    //eventuell ist hier ein Fehler
        }
    }

Im node hat es sicher kein Feld Names _link !
Du musst, wenn schon ein solches Feld erstellen und dann:

    "field_link": [
        {
            "value": "http://yyy.com."
        }
    ],

Gruss

Robert

https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Robert, ich habe das ganze

Eingetragen von JenneMander (112)
am 14.11.2015 - 21:09 Uhr

Hi Robert,
ich habe das ganze auch nur aus dem oben genannten Link, ich dachte dass das eine Art path-alias sein kann. Ich habe das "_links" einfach entfernt:

{
    "title": [
        {
            "value": "TESTE NODE"
        }
    ],
    "type": [
        {
            "value": "article"
        }
    ]
}

und anschließend erhalte ich wieder den Fehler:

{
"error": "A string must be provided as a bundle value."
}

mit bestem Gruß
Jenne

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich bin bei der Fehlersuche

Eingetragen von stone_d (178)
am 02.12.2016 - 15:49 Uhr

Ich bin bei der Fehlersuche gerade auf den Beitrag hier gestoßen. Da er nicht beantwortet wurde, will ich das (vielleicht) hiermit tun:
Es darf bei "type" nicht "value" heißen, sondern "target_id".

   "type": [
    {
      "target_id": "article",
    }
  ]

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Suche Upgradeempfehlungen einer existenten Drupal7 Site auf 9/10?
  • Develop Custom Field in Views
  • Wie View mit einem Array von ids filtern?
  • Wie befülle ich den Cache automatisch? [gelöst]
  • [gelöst] "EntityMetadataWrapperException: Invalid data value given." für Datum-Feld in Webform
  • Wie kann man die Ansicht der Benutzer erweitern?
  • Paragraphs - mit drei Sprachen, die nicht immer alle übersetzt werden können.
  • Wie path/url_alias in views anzeigen?
  • Drupal 9 - PHP 8 - Modul funtkioniert nicht mehr
  • Timestamp wird in views falsch interpretiert
  • Google Fonts Drupal 7 Porto Theme
  • datetime_range Fehlermeldung bei update.php
Weiter

Neue Kommentare

  • Bei Strato kann man doch
    vor 4 Tagen 8 Stunden
  • Fehlercode: SSL_ERROR_NO_CYPHER_OVERLAP
    vor 4 Tagen 12 Stunden
  • Was ist denn
    vor 5 Tagen 18 Stunden
  • Ohne das jetzt sicher zu
    vor 5 Tagen 18 Stunden
  • Kann es sein, dass das zweite
    vor 5 Tagen 19 Stunden
  • Da gibt es ehrlich gesagt
    vor 6 Tagen 6 Stunden
  • [gelöst] "EntityMetadataWrapperException: Invalid data value giv
    vor 6 Tagen 8 Stunden
  • Wie oben geschrieben, habe
    vor 1 Woche 5 Stunden
  • php konsole und web interface
    vor 1 Woche 13 Stunden
  • PHP unterschiedliche Version des Providers
    vor 1 Woche 15 Stunden

Statistik

Beiträge im Forum: 247932
Registrierte User: 19622

Neue User:

  • Davidenabs
  • climtarmut
  • VerifproMi

» Alle User anzeigen

User nach Punkten sortiert:
wla9218
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 2 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association