我在创建自定义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,它将服务于所有节点。
发布于 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的类。
然后,您可以定义要公开的节点集,使用查询参数对其进行过滤、分页或执行任何您想要的操作。
我成功地使用了这种技术来使用FullCalendar库显示事件,如果它有帮助,我可以详细说明一下。
祝你好运
发布于 2019-06-17 20:10:21
根据JSON: API的模块维护者的说法,该模块目前不支持到其仅供内部使用的API的外部连接,因此您引用的模块不再工作。
您请求的混合捆绑包有计划。请参阅下面的帖子进行讨论。
https://www.drupal.org/project/jsonapi_extras/issues/2956414
发布于 2021-02-23 01:03:34
我们在2019年的解耦日中讨论了这一点。我们得出了以下结论:
jsonapi_cross_bundles/jsonapi/node ),其中将包含:(a)指向该实体类型的资源类型的链接列表,以及(b)到解释交叉捆绑情况的文档页面的链接(甚至可能提到实验性的jsonapi_cross_bundles模块)。<☺️F215
来源:https://www.drupal.org/project/jsonapi_extras/issues/2956414#comment-13189872
https://stackoverflow.com/questions/56429982
复制相似问题