【美少女戰士20週年】美少女戰士的GraphQL已經製作完成【美少女戰士日】

首先

大家好!
大家知道今天是2023年2月1日,是什麼日子嗎?
是的,今天是美少女戰士的20周年紀念日。

然而,有没有人有这样的烦恼呢?

    • GraphQLって最近流行ってるから勉強してみたい

 

    • Go!プリンセスプリキュアの放送開始日っていつだっけ

 

    プリキュアって今年で20周年みたいなんだけど、プリキュアの情報をGraphQLで取得できないかな?
graph-preql-logo1.png
Graph PreQL

 

GraphQL的PlayGround在此处:
https://graph-preql.vercel.app/api/graphql

什么是Graph PreQL?

这是一个能够使用GraphQL获取Precure系列的各种数据的API,真正符合可口的微笑。灵感来自于通过GraphQL获取Pokemon数据或StarWars数据的API。
以前,有像sue445的rubicure这样能够提供Precure数据的Ruby库,但这个API完全独立,是自己收集数据并转换成GraphQL格式的。
可以获取的数据包括Precure各个角色的必杀技、颜色、年龄、声优以及加入Precure团队的播放日期等等。
还有关于Precure系列本身的数据以及主题曲的相关数据。

功能介绍

全部明星魔女守护

可以获取到关于美少女战士角色的信息。以下是可以获取到的美少女战士各个角色的信息。

    • id – 通し番号

 

    • name – 普段の名前

 

    • cure_name – 変身後のプリキュア名

 

    • color – プリキュアカラー

 

    • age – 満年齢

 

    • sereis – 出演シリーズ

 

    • birthday – 誕生日

 

    • before_prologue – 変身前口上

 

    • after_prologue – 変身後口上

 

    • fairy – 妖精

 

    • item – 変身アイテム

 

    • special – 必殺技 soloは個人必殺技、teamはチーム必殺技

 

    • debut – プリキュアチームに加入した放送日(例えばムーンライトは1話ではなく33話の正式にチームに加入した話数の放送日)

 

    • voice – 声優

 

    voice_birthday – 声優さんの生年月日、生年が不明な方は便宜上9999年にしてあります。

只需要给出一个选项,用中文本地化地重新表达以下内容:
可以指定的条件是

    • before – 指定した日以前にデビューしたプリキュア

 

    • after – 指定した日以降にデビューしたプリキュア

 

    • color – 指定した色のプリキュア

 

    age – eq:指定した年齢のプリキュア(null指定も可) lt:それ以下の年齢のプリキュア gt:それ以上の年齢のプリキュア

是的。

整套的全部

您可以获取有关星光奇迹系列作品的信息。您可以获取的数据有:

    • ID – 通し番号

 

    • title – 作品名

 

    • start – 放送開始日

 

    • end – 放送終了日

 

    • total – 全話数

 

    • producer – 東映アニメーションプロデューサー

 

    • director – シリーズディレクター

 

    • writer – シリーズ構成

 

    • characterdesign – キャラクターデザイン

 

    music – 音楽

可以获取到主要员工的信息。
可以指定的条件是什么?

    • before – 指定した日以前に放送されたプリキュアシリーズ

 

    • after – 指定した日以降に放送されたプリキュアシリーズ

 

    total – eq:指定した話数のプリキュアシリーズ lt:その話数以下のシリーズ gt:その話数以上のシリーズ

所有的歌曲 de

可以获取关于『宝石变身光之美少女』主题曲的信息。可获得的信息包括

    • id – 通し番号

 

    • title – 曲名

 

    • term – 放送期間、allは全期間、firstは前期、secondは後期です。

 

    • type – オープニング、エンディング区分

 

    • lyric – 作詞

 

    • music – 作曲

 

    • arrange – 編曲

 

    vocal – プリキュアシンガー

是的。

举个例子,

query PrecureAfter2020{
	precureAllStars(after:"2020"){
    cure_name
  }
}

可以通过这个方式获取的数据是什么。

{
  "data": {
    "precureAllStars": [
      {
        "cure_name": "キュアグレース"
      },
      {
        "cure_name": "キュアフォンテーヌ"
      },
       ...省略
      {
        "cure_name": "キュアスカイ"
      },
      {
        "cure_name": "キュアプリズム"
      }
    ]
  }
}

你可以获取信息。
由于版权问题,我们这里没有提供预兆少女的图片,请自行下载准备。

プリキュア図鑑

所使用的技术

我们使用Next.js和Apollo Server来实现。原因是使用Vercel。顺便说一下,我们并没有使用数据库,而是直接从那里读取JSON文件作为静态数据。
原始数据在电子表格中进行管理,并使用Apps Script导出为JSON。

在努力中遇到的困难

这是关于Precure数据不规范的意外情况。每个角色只有一个Precure和一个系列非常容易处理,但是,从Precure到Precure 5 GoGo有些特殊,可能有两个系列,而Splash Star甚至在一个作品中扮演两个Precure,所以不得不将数据数组化。
另外由于考虑易懂性,系列名称被加入到各个表格中,所以故意没有规范化。

最后

曾经一直呼吁有PreCure的API,但你却没有合适的学习材料。那么请你抓住这个机会,尝试一下GraphQL吧!同时,也请务必在2023年2月5日开始播出的”扩展天空!PreCure”也一定要观看哦!

另外,现在正在寻找从4月份开始的业务委托项目。请详细查看个人资料。

bannerAds