【发布时间】:2022-08-24 00:29:31
【问题描述】:
我目前正在使用 Drupal json-api module 的输出,并注意到输出的结构通过强制前端开发人员重新格式化给定的 json 输出,在前面强制了 O(n^2) 时间复杂度问题对他们来说,附件可以在与它所属的实体相同的对象中。
例子
因此,假设我列出了一堆类别及其缩略图,以便在前端使用。 json 输出通常看起来像这样:
普通类json结构
[
{
\"uid\":123,
\"category_name\":\"cars\",
\"slug\":\"cars\",
\"thumbnail\":\"example.com/cars.jpg\"
},
{
\"uid\":124,
\"category_name\":\"sports\",
\"slug\":\"sports\",
\"thumbnail\":\"example.com/sports.jpg\"
}
]
使用drupal,缩略图似乎是独立于创建O(n ^ 2)的数据的。例如:
我使用此端点发出获取请求:
example.com/jsonapi/taxonomy_term/genre?fields[taxonomy_term--genre]=name,path,field_genre_image,vid&include=field_genre_image
从 drupal json api 模块返回的数据结构将与此类似:
伪代码以提高可读性
{
\"data\":[
{
\"uid\":123,
\"category_name\":\"cars\",
\"slug\":\"cars\",
\"relationships\":{
\"thumbnail\":{
\"id\":123
}
}
},
{
\"uid\":124,
\"category_name\":\"sports\",
\"slug\":\"sports\",
\"relationships\":{
\"thumbnail\":{
\"id\":124
}
}
}
],
\"included\":[
{
\"type\":\"file\",
\"id\":123,
\"path\":\"example.com/cars.jpg\"
},
{
\"type\":\"file\",
\"id\":124,
\"path\":\"example.com/sports.jpg\"
}
]
}
drupal 输出的问题是我必须循环遍历数据,然后在数据循环中循环遍历包含并将每个缩略图附加到导致前端 O(n^2) 的类别。
前端有没有办法使用 drupal json 模块请求一个类别,以包含该类别中的缩略图,就像上面的普通 json 输出一样,而无需在前端重构 json api?
请注意,我不是 drupal 开发人员,因此我可能使用的术语将被关闭。
-
您能否再次检查您发布的伪代码?它看起来不像是有效的 JSON:API 文档。据我所知 Drupal 的 JSON:API 实现是符合标准的。我希望您在创建该伪代码时犯了一些错误。
-
@jelhan,我修复了伪代码。你的意思是 Drupals JSON 符合 JSON 标准吗?还是 Drupal 自己制定了标准?
-
也许尝试一个将视图导出为 json 的模块,例如 Rest Views 或 JSONapi Views,这样您就可以更轻松地以您喜欢的方式格式化 JSON。
-
@2pha,我是这个项目的前端开发人员。这是否需要对已经在使用 json:api 模块的 api 端点进行全面检查,或者这些模块是否会扩展该模块?
-
需要创建所需的视图
标签: drupal time-complexity drupal-modules json-api