BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Abel Avram 关注 11 他的粉丝 ,译者 李彬 关注 1 他的粉丝 发布于 2014年2月12日. 估计阅读时间: 5 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

最近,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)。例如:蜘蛛侠

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

http://gateway.marvel.com:80/v1/public/characters/1009165?apikey=xxxxx

而经过缩短的响应如下:

{
  "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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT