Qiita --Préparez un pseudo serveur API à l'aide d'actions GitHub Dans cet article, j'ai suggéré que le fait que le fichier json puisse être automatiquement mis à jour à l'aide d'actions et qu'il puisse être lu par Pages signifie qu'il peut être exploité comme un pseudo serveur API. Cependant, avec cela, même si seule une petite partie de l'énorme quantité de données est souhaitée, il est nécessaire de les acquérir à chaque fois et de les tracer à partir de la clé.
Alors pourquoi ne pas diviser le fichier json, comment?
REST API J'ai recherché l'API REST sur Qiita --0 Je comprends que l'API REST que j'entends souvent dans les rues est un routage d'URL conforme aux données, je vais donc le diviser en fonction de cela.
sample.json (Source des données: données traitées obtenues à partir du portail de données ouvertes de Hokkaido)
{
"data": [
{
"no": "1",
"date": "2020-01-28T00:00",
"place": "Ville de Wuhan, Chine",
"age": "Quarante",
"sex": "Femme"
},
{
"no": "2",
"date": "2020-02-14T00:00",
"place": "Sapporo",
"age": "Années 50",
"sex": "Masculin"
}
],
"last_update": "2020-03-14T23:14:01.849130+09:00"
}
L'URL d'hébergement est http: // {HOSTING} /.
Données à acquérir | URL de l'API REST |
---|---|
sample.Toutes les données JSON | http://{HOSTING}/sample |
sample.json dernier_update | http://{HOSTING}/sample/last_update |
sample.Le premier élément des données de json | http://{HOSTING}/sample/data/0 |
sample.Le deuxième élément des données de json | http://{HOSTING}/sample/data/1 |
sample.No du deuxième élément des données de json | http://{HOSTING}/sample/data/1/no |
Si tel est le cas, il s'agit d'une traduction REST.
Dans les pages GitHub, l'accès au répertoire est dirigé vers index.html. En d'autres termes, si vous accédez à http: // {HOSTING} / sample, écrivez toutes les données de sample.json dans la racine /sample/index.html de la branche gh-pages, et la chaîne de caractères JSON des données souhaitées sera renvoyée. C'est une traduction. http://{HOSTING}/sample/last_updateの場合はルート/sample/last_update/index.htmlに「2020-03-14T23:14:01.849130+09:00」という文字列を書き込んでおく。
Si vous hébergez avec la procédure ci-dessus, vous pouvez dire que vous avez un pseudo serveur API REST.
Kanahiro/gh-pages-rest-api Dans ce script, main.py est exécuté par Actions lorsqu'il est poussé vers master. main.py lit le fichier json dans le dossier json et place index.html dans gh-pages dans le répertoire subdivisé comme décrit ci-dessus.
Le fichier sample.json ci-dessus est stocké dans le dossier json du référentiel ci-dessus. L'URL d'hébergement des pages gh est https \ //kanahiro.github.io/gh-pages-rest-api/
Données à acquérir | URL de l'API REST |
---|---|
sample.Toutes les données JSON | https://kanahiro.github.io/gh-pages-rest-api/sample |
sample.json dernier_update | https://kanahiro.github.io/gh-pages-rest-api/sample/last_update |
sample.Le premier élément des données de json | https://kanahiro.github.io/gh-pages-rest-api/sample/data/0 |
sample.Le deuxième élément des données de json | https://kanahiro.github.io/gh-pages-rest-api/sample/data/1 |
sample.No du deuxième élément des données de json | https://kanahiro.github.io/gh-pages-rest-api/sample/data/1/no |
Il sera automatiquement hébergé après avoir été poussé vers master comme suit: La seule demande que vous pouvez faire est GET, mais on peut dire que l'API REST est implémentée dans les pages GitHub.
Et comme introduit dans Qiita --Preparing a pseudo API server using GitHub Actions, si le fichier json peut être mis à jour automatiquement en planifiant par Actions , Devient un serveur d'API REST où les données sont mises à jour automatiquement.
――Depuis que je viens de le faire, je n'ai pas essayé de le lire correctement sur la face avant. «Je viens de le faire, donc je ne sais pas quel genre de problème il a.
Recommended Posts