やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubAPIの仕様を取得する方法について考えてみた

今後の方針について。

前回まで

http://ytyaru.hatenablog.com/entry/2017/10/11/000000

アカウント登録のサブコマンドについて考えた。

http://ytyaru.hatenablog.com/entry/2017/10/14/000000

一部修正と整理をしたが、以下の問題がある。その解決を優先したい。

問題

現在、API用DBにライセンス取得用APIのデータが入っていない。

そのせいで、ライセンス取得処理のところはHTTP処理の共通化ができていない。

解決案

  1. API用DBにライセンスAPIデータを挿入する
  2. ライセンス取得処理もHTTP処理の共通化をする

しかし、その前にAPI用DBのデータ挿入について考えたい。

  1. 取得方法
  2. 取得内容

1. 取得方法

  1. API仕様をサイトからスクレイピングで全部取得する
  2. 今回使うAPIの分だけ手動で取得する

1A. API仕様をサイトからスクレイピングで全部取得する

実装が大変。

  • サイト変更されたら実装の変更が必要
  • サイトの解析が必要

でも機能拡張に応じて手でDBをメンテする必要がない。

1B. 今回使うAPIの分だけ手動で取得する

手でDBをメンテするのが面倒すぎる。ミスが生じうる。

2. 取得内容

以前、API用DBを作成したが、APIを特定するためにはAccept項目が不足しているとわかった。

ほかにも不足があるかもしれない。次回、詳しく調べる。

今後のおおまかな作業の流れ

  1. API用DBを作る
    1. 不足している項目をさがす
      • DB項目
        • HTTP仕様
          • GitHubAPI仕様
    2. 不足項目を追加したDBを作成する
    3. API仕様を取得する
  2. バグ修正する
    1. ライセンス取得処理のHTTP処理を共通化する
    2. 共通化されたHTTP処理に不足項目の変更分を実装する
    3. 初回DB作成時にアカウント毎のリポジトリDB作成ができるよう実装する
  3. 新機能を追加する
    1. アカウントのサブコマンドを実装する

所感

面倒なことになってきた。先は長い。