首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建定制JSON-API资源Drupal8

如何创建定制JSON-API资源Drupal8
EN

Stack Overflow用户
提问于 2019-06-03 23:01:53
回答 4查看 2.2K关注 0票数 3

我在创建自定义JSON API资源时遇到了问题,这些资源将在mydrupalsite/jsonapi链接上可见。我找到了这个例子:

https://glamanate.com/blog/using-json-api-query-your-search-api-indexes

它展示了如何创建自定义资源,但它已经过时了。在本文中,我试图创建一个自定义模块,但由于json-api模块已更改,因此它不再起作用。

例如,我希望显示所有节点,并将jsonapi端点类型设置为nodes--all将服务于我的Drupal站点的所有节点。

我使用的是Drupal8.7.1和JSON API核心模块。

我曾尝试用google搜索这个问题,但还没有创建自定义json api端点的示例。

对于最终结果,我希望设置jsonapi端点,例如:mydrupalsite/jsonapi/node/ all,它将服务于所有节点。

EN

回答 4

Stack Overflow用户

发布于 2019-06-20 16:14:23

您可以在自定义模块中声明REST端点。

根据https://www.drupal.org/docs/8/api/restful-web-services-api/custom-rest-resources,在/modules/custom/mymodule/src/Plugin/rest/resrouce/MyEndPoints.php,中创建一个扩展ResourceBase的类。

然后,您可以定义要公开的节点集,使用查询参数对其进行过滤、分页或执行任何您想要的操作。

另请参阅:https://medium.com/@emerico/create-custom-rest-resource-for-get-and-post-method-in-drupal-8-e445330be3ff

我成功地使用了这种技术来使用FullCalendar库显示事件,如果它有帮助,我可以详细说明一下。

祝你好运

票数 2
EN

Stack Overflow用户

发布于 2019-06-17 20:10:21

根据JSON: API的模块维护者的说法,该模块目前不支持到其仅供内部使用的API的外部连接,因此您引用的模块不再工作。

您请求的混合捆绑包有计划。请参阅下面的帖子进行讨论。

https://www.drupal.org/project/jsonapi_extras/issues/2956414

票数 0
EN

Stack Overflow用户

发布于 2021-02-23 01:03:34

检出JSON:API Cross Bundles

我们在2019年的解耦日中讨论了这一点。我们得出了以下结论:

  • 根据我的请求,我们将把它放在一个不同的方法下。jsonapi_cross_bundles
  • There将只支持GET
  • 。过滤中的边缘情况将使用实体查询API使用的任何立场来解决。
  • 并行地,我们将创建一个JSON:API问题,以将有效负载添加到404路由(如/jsonapi/node ),其中将包含:(a)指向该实体类型的资源类型的链接列表,以及(b)到解释交叉捆绑情况的文档页面的链接(甚至可能提到实验性的jsonapi_cross_bundles模块)。

<☺️F215

来源:https://www.drupal.org/project/jsonapi_extras/issues/2956414#comment-13189872

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56429982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档