【美少女戰士20週年】美少女戰士的GraphQL已經製作完成【美少女戰士日】
首先
大家好!
大家知道今天是2023年2月1日,是什麼日子嗎?
是的,今天是美少女戰士的20周年紀念日。
然而,有没有人有这样的烦恼呢?
-
- GraphQLって最近流行ってるから勉強してみたい
-
- Go!プリンセスプリキュアの放送開始日っていつだっけ
- プリキュアって今年で20周年みたいなんだけど、プリキュアの情報をGraphQLで取得できないかな?


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月份开始的业务委托项目。请详细查看个人资料。