it-swarm.com.de

? format = json gibt 'Nicht akzeptables Format: json' zurück

Ich versuche, das Modul REST für Drupal8.2.7) einzurichten. Die Installation verlief ohne Probleme.

Ich habe versucht, dieser Dokumentationsseite zu folgen https://www.drupal.org/docs/8/api/restful-web-services-api/restful-web-services-api-overview einzurichten Eine einfache Ressource zum Abrufen von Knoten.

Ich habe die Beschreibungen für 'Drupal 8.2 und höher:' befolgt und diese XML-Datei im Ordner\Drupal\rest\RestResourceConfigInterface erstellt

id: entity.node
plugin_id: 'entity:node'
granularity: method
configuration:
  GET:
    supported_formats:
      - json
    supported_auth:
      - basic_auth
      - cookie

Sobald dies erledigt war, habe ich den Cache geleert und erwartet, dass Knoten 1 mit dieser URL als json abgerufen werden kann:

/node/1?_format=json

Ich erhalte jedoch nur Folgendes: {"message": "Nicht akzeptables Format: json"}

Was fehlt mir hier?

Update: Ich ging hierher/admin/config/development/configuration/single/export und exportierte entity.node

uuid: d44c745b-d69b-4893-8f31-b65d0fe80bf0
langcode: en
status: true
dependencies:
  module:
    - basic_auth
    - hal
    - node
  _core:
    default_config_hash: t_jfECmZhJqBOJuSOFn87EOi_TWi-_fRYTuJgd19vgg
  id: entity.node
    plugin_id: 'entity:node'
    granularity: resource
  configuration:
    methods:
      - GET
      - POST
      - PATCH
      - DELETE
    formats:
      - json 
      - hal_json
    authentication:
      - basic_auth
    GET:
      supported_formats:
        - json
        - xml
      supported_auth:
        - basic_auth
        - cookie
    POST:
      supported_formats:
        - hal_json
        - json
        - xml
      supported_auth:
        - basic_auth
        - cookie
   DELETE:
     supported_formats:
       - hal_json
       - json
       - xml
  supported_auth:
    - basic_auth
    - cookie
  PATCH:
    supported_formats:
      - hal_json
      - json
      - xml
    supported_auth:
      - basic_auth
      - cookie

Der Versuch, meinen Knoten über die angegebene URL '/ node/1? _Format = json' abzurufen, gibt jedoch weiterhin {"message": "Nicht akzeptables Format: json"} zurück.

3
Uwe

\Drupal\rest\RestResourceConfigInterface Ist ein Namespace, keine Verzeichnisstruktur.

Konfigurationsdateien müssen in die aktive Konfiguration importiert werden, die in der Datenbank gespeichert ist.

Im Fall einer einzelnen Konfigurationsdatei:

  1. Gehen Sie zur Seite /admin/config/development/configuration/single/import

  2. Wählen Sie unter "Konfigurationstyp" im Feld "REST-Ressourcenkonfiguration" aus

  3. Fügen Sie unter "Fügen Sie Ihre Konfiguration hier ein" Ihre REST YAML-Konfiguration ein

Die Konfiguration kann über das Konfigurationsverzeichnis exportiert und importiert werden, wie in settings.php mit der Zeile $config_directories['sync'] = 'sites/default/config'; Angegeben.

Verwenden Sie den Befehl drush, um die aktuell aktive Konfiguration in Dateien im Verzeichnis sync zu exportieren: drush config-export

Um die Konfiguration aus Dateien im Verzeichnis sync zu importieren und Ihre aktuell aktive Konfiguration zu überschreiben, gehen Sie zur Seite /admin/config/development/configuration.

Eine andere Möglichkeit besteht darin, das Modul REST UI zu verwenden, um Ihre REST -Dienste) zu konfigurieren.

5
imclean