GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

使用 Marvel Comics 的 API 访问复仇者联盟

2014 年 2 月 11 日

最近,Marvel 启用了一套公开的API 和RESTful 服务,开放了对其漫画元数据的访问。

SOA 软件的执行副总裁 Roberto Medrano 认为,在 2014 年以及接下来的时间里,我们将看到Web API 得到“广泛采用”。除了API 将推动移动应用的发展外,移动+ 云端的模式也将促成伟大的结合:“当API 通过云服务发挥作用时,与传统上通过平台的方式相比,API 连接和交付的能力以几何级数的速度得到了简化。”他还表示:除此之外,软件定义的数据中心将依赖API,而“物联网也将转变为万物之间的API”,SOA 和API 将越来越被看作是互补的,而哪怕是REST 也将得以演进。它将借助“诸如WADL、Swagger|RAML 和其他新标准——由于其灵活性,这些新标准将填补REST 的漏洞以及在定义服务描述方面的缺陷”所带来的贡献。

因此,Marvel 通过公共API 开放对其漫画和角色的访问也毫不奇怪。除了来自娱乐角度的吸引力外, Marvel Comics API 也为一套 Web API 应该如何设计做出了榜样。Marvel 以一套 RESTful 服务来面向 HTTP 请求提供 JSON 响应,不过其端点目前仅支持 GET 方式。

Marvel API 提供的资源包括:

  • 漫画:独立印刷或数字化的漫画题材、集合以及漫画小说。例如:《神奇的幻想》第十五期( Amazing Fantasy #15 ,后改名为神奇的蜘蛛侠)。
  • 系列漫画:连续编号(大部分情况下编号是连续的)、拥有相同名称的系列漫画。例如 X 战警:神秘版( Uncanny X-Men )。
  • 漫画故事:不可分割的、可复用的漫画组成。例如,来自《神奇的幻想》第十五期的封面,或是源自该期杂志的最初的蜘蛛侠故事。
  • 漫画事件和跨界穿越:大型的、跨界的故事线。例如《无限》( Infinity )。
  • 创作者:创作漫画的女人、男人或组织机构。例如 Jack Kirby
  • 角色:占据了 Marvel 世界的女人、男人、组织机构、异形物种、神灵、动物、非物质单元、穿越(跨时空之旅)、抽象人格以及绿色变形怪物(Doop)。例如:蜘蛛侠

一份请求 _ 复仇者联盟 _ 角色的示例如下:

<a href="http://gateway.marvel.com/v1/public/characters/1009165?apikey=xxxxx">http://gateway.marvel.com:80/v1/public/characters/1009165?apikey=xxxxx</a>而经过缩短的响应如下:

复制代码
{
"code": 200,
"status": "Ok",
"etag": "e52e95f71334d797c3c2d0cf144bcc3e611718db",
"data": {
"offset": 0,
"limit": 20,
"total": 1,
"count": 1,
"results": [
{
"id": 1009165,
"name": "Avengers",
"description": "Earth's Mightiest Heroes joined forces to
take on threats
that were too big for any one hero to tackle.
With a roster that has included Captain America, Iron Man,
Ant-Man, Hulk, Thor, Wasp
and dozens more over the years, the Avengers have come to
be regarded as Earth's No. 1 team.",
}
]
}
}

Marvel Comics API 支持鉴权、版本管理、通过 ID 检索资源合集或资源、跨网站请求、压缩,以及用来避免将同一响应返回两次(如果在两次请求之间,请求的内容没有发生改变)的 eTags。其数据库提供了庞大的图片合集,例如上图就是通过在复仇者联盟的响应中提供的路径检索而得。开发者的访问频度被限制在每账户 1000API 请求。

Apigee 的电子书《 Web API 设计:打造开发者喜爱的接口》针对 Web API 的设计,给出了详细的建议。

查看英文原文: Getting the Avengers with Marvel Comics API

2014 年 2 月 11 日 08:35925
用户头像

发布了 256 篇内容, 共 50.5 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

Week 04- 作业二:学习总结

dean

极客大学架构师训练营

架构师训练营第四周作业

fenix

架构师训练营 第四周 学习总结

RZC

面向对象学习

一叶知秋

大型互联网应用系统浅析

飞雪

大型互联网应用解决问题的技术方案和手段

AIK

架构师训练营第 0 期第四周作业

无名氏

第4周作业

系统架构

eazonshaw

极客大学架构师训练营

写给大忙人看的进程和线程

cxuan

后端 操作系统

架构师训练营 第四周【作业】

小K

Week 04 学习总结

Jeremy

架构师训练营第四周作业

极客大学架构师训练营

第 04 周作业提交

白杨

架构师训练营第四周课程总结

狂奔嘀兔纸

极客大学架构师训练营

大型互联网应用系统案例

戴维斯

极客大学架构师训练营

软件测试缺陷等级划分准则

海浪豆豆

软件测试

第四周总结

AIK

一个典型的大型互联网应用系统使用了哪些技术

L001

极客大学架构师训练营

互联网系统的问题与方案 - 第四周作业

X﹏X

【架构师训练营】第 4周总结

花生无翼

架构学习第四周总结

云峰

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

娄江国

极客大学架构师训练营

学习总结 - 架构师训练营 - 第四周

走过路过飞过

架构师训练营第四周作业

努力努力再努力m

极客大学架构师训练营

第四周作业

changtai

极客大学架构师训练营

大型网站架构演化历程

stars

从软件架构演进“看”做好事情的三条边

林昱榕

学习 架构模式 极客大学架构师训练营 架构演进 三条边

Week4-总结

龙7

第4周总结

娄江国

极客大学架构师训练营

架构学习第四周作业

云峰

DNSPod与开源应用专场

DNSPod与开源应用专场

使用Marvel Comics的API访问复仇者联盟-InfoQ