如何查找 API 有多少个 json 终结点

How to find how many json endpoints an api has

提问人:Sean 提问时间:4/6/2018 更新时间:4/17/2018 访问量:1204

问:

我正在制作一个 Express 应用程序。这只是一个学习项目。

我从一个名为 jikan.me 的动漫 api 获取了一些信息,它提供了有关不同动漫系列的信息,例如图片 url 和概要。

例如,一个位于 .https://api.jikan.me/anime/16

现在,jikan api 可能有一个 json 端点,但 没有 .anime/1anime/2

我想找到实际包含端点的所有数字 () 的列表。https://api.jikan.me/anime/[numbers]

我试过简单地去,但它回来了.https://api.jikan.me/animeerror: No ID/Path Given

我预计这个问题可能没有绝对的答案,但我可能会在此过程中学到一些关于服务器端代码的知识。

我应该从哪里开始寻找这些信息?

JSON API 服务器端

评论


答:

0赞 Nicolás Marzano 4/6/2018 #1

如果它不在文档中,则可能是您无法获得的信息......REST API 需要专门配置以提供某些端点,末尾的数字可能只是在内部数据库中搜索的 ID,应用程序无法知道那里是否有东西;他们所能做的就是返回一条错误消息供您处理,就像这里的情况一样。

评论

0赞 Sean 4/6/2018
感谢您的快速回答。我以为可能是这样。
0赞 Nicolás Marzano 4/6/2018
如果您只是为您的学习项目选择随机条目,我通常做的是捕获此错误消息并使用另一个随机数重试。如果有帮助,某些 API 还提供一个终结点,该终结点将返回随机对象。如果没有,那么如果你要显示一个列表,你总是可以把它们过滤掉,或者如果用户专门请求不存在的数据,你可以为用户准备一个更完整的错误消息。
0赞 Nicolás Marzano 4/7/2018
顺便说一句,欢迎来到 Stack Overflow!如果答案解决了您的问题/回答了您的问题,请记住接受答案!
0赞 Irfan 4/17/2018 #2

这有点晚了,但是,Jikan 是 MyAnimeList 的非官方 REST API。这些 ID 与 MAL 上的 ID 相对应。例如;https://myanimelist.net/anime/1 可以通过 https://api.jikan.moe/anime/1 进行解析,但 MAL 上不存在 ID 2。这是一个 404,因此存在该错误。

若要最初获取某些 ID,可以尝试搜索终结点

此外,我将很快(本月)发布 REST 2.2,这将使您能够从此类页面进行解析,因此您将获得另一个端点,该端点提供了一些 ID 来获取数据。

来源:我是 Jikan 的开发者

评论

1赞 Sean 4/19/2018
感谢 Irfan,我已经开始开发代码来循环浏览 REST API,并收集所有带有端点的 ID。到最后,我应该有一个数据库,其中包含所有动漫标题及其各自的 ID。github.com/seanwarman/browseAnime