回答:
匿名ユーザーがリソースにアクセスするための正しい権限を持っていますか?
testing.dev/drupal8/admin/people/permissions
RESTFul Webサービスの下で、Access GET on Content resource匿名ユーザーがチェックされていることを確認します。キャッシュをクリアして、リクエストを再試行してください。
また、rest.settings.ymlファイル内でそのリソースに対して公開されている形式タイプがない場合もあります。このファイルは、supported_formatsとauthを設定します。あなたの場合は次のようになります:
resources:
'entity:node':
GET:
supported_formats:
- hal_json
- json
supported_auth:
- cookie
@dibsと@bluesky_stillこれが元のポスターではないにしても、皆さんのお役に立てれば幸いです。
REST UIは、8.2.3には向かないと思います。
GETリクエストとPOSTリクエストを機能させるために私がしたことは次のとおりです。
REST設定を変更しようとしているエンティティタイプのymlを編集する必要があります。たとえば、ノードエンティティはrest.resource.entity.node.ymlを使用します。RESTUIは、8.2以降では本当に役に立たないという印象を受けたので、手動で行う必要があります。このファイルをお好みに合わせて作成したら、サイトにインポートする必要があります。
これを「正しく」行う方法はまだわかりません。構成インポーター(UUIDエラーをスローします)を使用する必要があるのか、それをテーマに含めるか、デフォルトの設定に含める必要があるのかはわかりません。私がやった仕事に設定を取得します。結局、機能モジュールを使用してRESTリソース構成用の機能パッケージ(admin / config / development / features / edit)を作成し、機能をダウンロードしてパッケージを解凍し、変更によって作成されたモジュールをインストールしました。
次に、作成したモジュールのディレクトリ(DRUPAL_ROOT / modules / MODULE_NAME / config / install / rest.resource.entity.node.yml)にある構成ファイルを手動で編集して、必要な設定にしました。最後に、機能の構成ページ(admin / config / development / features /)から機能を更新して変更を実装しました。作成したモジュールの横にある「変更」をクリックし、変更の横にあるチェックボックスをクリックして、「インポート」をクリックします。変更」)。
インポートを処理するためのより簡単な方法があるはずですが、8.2.3で動作します。
REST設定がセットアップされると、エンティティタイプは/ admin / people / permissions /で設定した権限に従う必要があります。したがって、匿名ユーザーが公開されたノードを表示できる場合は、公開されたノードを取得することもできます(少なくとも、ドキュメントによると)。
それでも問題が解決しない場合は、必ずリクエストのヘッダーにcsdrTokenを含める必要があります。
エンドポイントYOUR_SITE.DOMAIN / rest / session / tokenへのGETリクエストは、GETまたはPOSTリクエストのX-CSRF-Token 'ヘッダーとして設定できるトークンを提供します。jQueryを使用して最初のエントリを取得する一般的な簡単な例は、次のようになります。
function getFirstNode() {
jQuery
.get('YOURSITE/rest/session/token')
.done(function (data) {
var csrfToken = data;
jQuery.ajax({
url: 'YOURSITE/web/node/1?_format=hal_json',
method: 'GET',
headers: {
'Content-Type': 'application/hal+json',
'X-CSRF-Token': csrfToken,
},
success: function (node) {
console.log(node);
}
});
});
}
ビューモジュールを使用してGETエンドポイントを設定することにも成功しました。この記事はプロセスを説明するかなり良い仕事をします:http : //redcrackle.com/blog/rest-export-views-drupal-8。POSTリクエストでは機能しませんが、役立つはずです。
これがお役に立てば幸いです。これは、単純な要求であるべきことについては本当に厄介な問題であり、ドキュメントはこれをアクセス可能にする優れた機能を果たしていません。幸運を!