能否通过JSON-API单次请求获取多个指定资源?
答案:当然可以实现单次请求获取多篇特定文章!
JSON:API规范完全支持这种批量获取特定资源的需求,不用重复发送多次请求,下面是两种常见的实现方式:
标准推荐方式:使用过滤参数
规范里推荐通过filter[id]参数来指定要获取的多个资源ID,这是社区广泛认可的约定,绝大多数符合JSON:API的服务端都会支持。请求格式如下:GET /articles?filter[id]=1,42,67&include=author这种方式的优势是完全符合JSON:API的规范定义,兼容性拉满。
部分服务端支持的扩展方式:路径中直接传入多个ID
有些服务端实现会额外支持在资源路径里用逗号分隔多个ID,也就是你示例里提到的/articles/1,42,67?include=author这种格式。不过要注意,这种方式并不是JSON:API规范里的标准内容,属于服务端的自定义扩展,所以不同服务端的支持情况可能不一样,使用前最好先查看目标服务的文档。
不管用哪种方式,响应都会返回一个符合JSON:API格式的资源集合,包含你指定的所有文章,同时会根据include参数加载关联的作者资源,完美解决多次请求的问题。
内容的提问来源于stack exchange,提问作者Redsandro
相关产品推荐
相关产品推荐

