手机推广赚钱平台北京seo全网营销
用Drupal8作为后端数据管理平台,前端通过API调用数据接口。实现Drupal8的数据解耦,与小程序和移动APP进行无缝衔接。

API规范:REST与JSON:API与GraphQL
有一个比较强大的最常见的技术规范的REST,JSON:API,基于请求的效率,操作简便性,可发现性的API,并且更GraphQL。如您所见,对于JSON:API来说,结果是非常肯定的。

基于此分析,出于Drupal核心的需求,我们将JSON:API置于GraphQL之上,并将GraphQL置于REST之上。因此,我想更改对Drupal 8内核的建议。我相信不要将JSON:API和GraphQL都添加到Drupal 8内核中,我相信应该只添加JSON:API。
以上信息可帮助我们选择JSON:API作为具有有用文档的基本规范。
身份验证方法:基本身份验证与OAuth
除非与某些外部安全系统(例如TLS,Transport Layer Security,[RFC5246])结合使用,否则此方案不被视为用户身份验证的安全方法,因为用户ID和密码以明文形式通过网络传递。
“基本” HTTP身份验证方案文档
在OAuth中,客户端请求访问由资源所有者控制并由资源服务器托管的资源,并向客户端颁发与资源所有者的凭据不同的一组凭据。客户端无需使用资源所有者的凭据来访问受保护的资源,而是获取访问令牌-表示特定范围,生存期和其他访问属性的字符串。
OAuth 2.0授权框架文档
根据这些方法的官方规范,我们可以看到有关它们在工作中使用的一些结论。因此,明确选择支持OAuth!但是我们可以快速设置并使用它吗?是的,Simple OAuth
模块将为我们提供帮助。
安装Drush
composer require drush/drush
安装devel模块生成测试文章内容
composer require drupal/devel
启动内容生成器模块,勾选后保存。
生成测试内容。
使用simple oauth模块控制权限
安装扩展模块
composer require drupal/simple_oauth
启用模块
drush en -y simple_oauth
在使用它之前,我们必须限制默认Authenticated user角色的权限。但是,最好在“角色”页面(/admin/people/roles)上创建一个新角色以与API一起使用。
生成密钥
来到
/admin/config/people/simple_oauth
页面设置。点击右下角“生成密钥”按钮。
填入密钥存放路径。(建议放在网站目录之外)
点击“生成”按钮。
点击“保存配置”按钮。
添加访问角色、用户和权限
添加角色。如:oauthapi。
添加一个用户,并赋予api角色。保存。
给api角色赋予相应的访问权限。如:创建文章、查看已发布内容等等。
创建客户端服务
来到
/admin/config/services/consumer
页面客户列表。点击“添加客户”按钮。
填写标签名、设置新密码、勾选scopes。保存。
用postman测试接口
创建和验证访问令牌
现在,我们已经配置了简单OAuth模块,我们需要从位于的资源请求访问令牌/oauth/token。OAuth 2.0规范规定,授权服务器上的OAuth令牌资源必须仅接受POST其主体格式为form-data或的请求x-www-form-urlencoded,并且所有JSON格式的主体都将被拒绝。
您需要在请求正文中出现以下参数。
grant_type:大多数情况下,password。client_id:上一部分中使用者的UUID。client_secret:添加使用者时提供的客户机密。username:与使用者相关联的帐户的用户名。password:与使用者相关联的帐户的密码。scope:指定的访问者角色。

获取token。
curl --location --request POST 'http://d890.com/oauth/token' \--form 'grant_type=password' \--form 'client_id=93d8965b-d8df-4ef0-b887-97a675f968f1' \--form 'client_secret=abc123' \--form 'username=test' \--form 'password=1' \--form 'scope=oauthapi'
返回token。
{ "token_type": "Bearer", "expires_in": 869999, "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU", "refresh_token": "def502007daab048cb4ff8bb3dc896fa1524587d23782f5a79593f82c2483f1e80bbaa3b0afcce9c2aff190c4614eaef08de601eddd429a94ae4169194cbf9e89a6680cee74f87343a9b20e96d7c2d149f7cf0fd518043554a3115aeceef957723c3143ca371f40734ed2a178a5b7958f39f3e16d4c02628bfb2ef425f123d8afec5ebd34226b2bd9553b20cb8213b82ae382351eef3a5c372a273905791b5b9b348b8f8a2630408b9d000f6721a56c350d87b32ebb582fc7efdbc72a6f1e4a85c2d8ff8c29bd06d6f5b635f48d1614b7c1caf65f04071261a9db20e1310f2844935f32f605218beab57542c18e5906a1afe57c43f1061274abb807bc29664239628e949d8d3b35da7dba7cba042ecc92b968b7614cf2d76496c8df1951d7899d9fb7fc6eab51354ed7e3bb725da7e5c537e28c95218b4d32daf4412acdc57b70cf07ba1ce2008804bd5c7b5ae8cefb94a79f153cb5113c3408584bfd72eba16f73d19ded9113d52061e9869cb4a23cb31cf6de41511e510e9dc40f1a1c82db0918ff661f05ca47dc031e16f34ee483af9e808fe755c4095d19be3cab2ab62b4"}
发送请求。
在权限中设置了未登录用户不能查看已发布内容。
如果请求中不带token,网站首页会拒绝访问。
携带刚刚获取的token,可以正常获取网站内容。
curl --location --request GET 'http://d890.com' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU'
使用jsonapi模块创建api
安装jsonapi扩展模块
composer require drupal/jsonapi_extras
启用模块
drush en -y jsonapi jsonapi_extras
设置jsonapi
JSON:API 是一个零配置模块,该模块提供对所有Drupal实体的访问权限,以进行即用型读取。但是,您不仅应考虑读取数据,还应考虑创建或更新数据的可能性。启用后,您需要转到模块设置页面(/admin/config/services/jsonapi),并将“ 允许的操作 ”字段更改为“ 接受所有JSON:API创建,读取,更新和删除操作 ”值。

保存配置。
自定义API
另外,出于安全原因,必须自定义API,您可以使用JSON:API Extras模块来进行此操作。该模块已经通过composer安装,应在“ 扩展 ”页面(/admin/modules)上启用。
转到设置页面(/admin/config/services/jsonapi/extras),选中“ 在集合查询中包括计数 ”选项,然后将我们的API的“ 路径前缀”从*/jsonapi更改为/api/json*。
稍后,您还可以在设置页面的“ 资源替代 ”标签上禁用无法通过API使用的额外资源。

请记住清除Drupal缓存(/admin/config/development/performance)以应用路由更改。
用postman进行接口测试
首先获取token。必须携带token才能成功请求数据。
创建第一篇文章
curl --location --request POST 'http://d890.com/api/json/node/article' \--header 'Accept: application/vnd.api+json' \--header 'Content-Type: application/vnd.api+json' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU' \--data-raw '{ "data": { "type": "node--article", "attributes": { "title": "我的第一篇文章", "body": { "value": "这是我用jsonapi创建的第一篇文章", "format": "plain_text" } } }}'
刷新网站首页看到我们新增的文章。

获取文章列表
curl --location --request GET 'http://d890.com/api/json/node/article' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU'

获取指定文章
curl --location --request GET 'http://d890.com/api/json/node/article/0de2ce4b-1f3b-4147-8315-6f15d0314b00' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU'

修改文章内容
curl --location --request PATCH 'http://d890.com/api/json/node/article/1bbfa4af-c902-4253-8b4f-fdfb7b4e6d1f' \--header 'Accept: application/vnd.api+json' \--header 'Content-Type: application/vnd.api+json' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU' \--data-raw '{ "data": { "type": "node--article", "id": "1bbfa4af-c902-4253-8b4f-fdfb7b4e6d1f", "attributes": { "title": "修改我的第一篇文章" } }}'
刷新网站首页看到我们修改成功的文章。

删除一篇文章
curl --location --request DELETE 'http://d890.com/api/json/node/article/1bbfa4af-c902-4253-8b4f-fdfb7b4e6d1f' \--header 'Content-Type: application/vnd.api+json' \--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjE5MzdmMWM1YTU2OWJkZDIxZmJhMDJlYjhiOWQyYTFlMWY5ZGEzNzEwOGFmNTQ4YzNjYTg1ZDY5YjVkNGJlMmI0NGIzYzZjMTdlNGM0Mzk5In0.eyJhdWQiOiI5M2Q4OTY1Yi1kOGRmLTRlZjAtYjg4Ny05N2E2NzVmOTY4ZjEiLCJqdGkiOiIxOTM3ZjFjNWE1NjliZGQyMWZiYTAyZWI4YjlkMmExZTFmOWRhMzcxMDhhZjU0OGMzY2E4NWQ2OWI1ZDRiZTJiNDRiM2M2YzE3ZTRjNDM5OSIsImlhdCI6MTU5MjA5NDUzMiwibmJmIjoxNTkyMDk0NTMyLCJleHAiOjE1OTI5NjQ1MzEsInN1YiI6IjUiLCJzY29wZXMiOlsib2F1dGhhcGkiLCJhdXRoZW50aWNhdGVkIl19.J29rBtkl4pwde6b3Xf3bYiyv_w2pwMEQdtDI1YztqNZFm-rTvLFu_MkV3CDsfOi9YHp13d1RhMlz7JbYXylTlaPET9U6IjAI1SeEFV_ZqKxHC1z9LTXR-bxgzGToi7QqoVKa6ZiFPJgGdfhFsPxi6KD-zK1RUPmW5ueGpHM6U9JMPuh-ZL-mO69If36HJOhBR5eld0VDX_SMBq_4a-WJSOQmrzFxICo6Tqh34xLmNeSk3eiCE5hUij_MjcFHJ3jWnCNRh-8U5CaT5O_f5JB_PPu_sHww5nU8gaEXvHpwTLFT34T8ZobmaZD1WnFV836-eE238PNWUPELWCD4560Dz56sNlxRZg2BWAYLtrlKwoGBsgBGT_TSgYW9s2nfMW1_bAjuCgG80uBg5ZBYO-1snK7YxhS9oVERUXksZElSV09upyggQOWrKAxG__jEccejgc1j3muV4m5NNv_Z59qFgzuTBUKJg7aE7ZK5vrydvbgzEaL-X49H1lWyfPy5-HmsOVfRFafQIehvxBvMRQlXkJGIeRn2EVeQhjJx8sqe_PJw-GUe6ADPiC68KO6qPjVAfJZs5BMWjuSa8N_CN9Uokt7dZlgPHL5lG7ZCkeolQ5LKiWsphFHxsLjGooDREMOvWxlfPY8Q3Q4W9rQ-5QcGT7JQJBIxbZy_PGctJkCdwbU' \--data-raw ''
回到首页刷新,看到我们的刚刚新增的文章已经被删除。
有关jsonapi的进一步使用,包括过滤、关联、筛选等操作参看官方文档。
参考文献:
Decoupled Drupal Authentication with OAuth 2.0
How to quickly configure Drupal as a decoupled API-first system