見出し画像

pythonでAPIを構築〜株価取得API編 1〜

こんにちは、こちょすです🔥
筋トレが好きなエンジニアです。

普段はブログで筋トレや技術系の情報を発信しています!ぜひこちらもみていただけると嬉しいです!
これブロ(筋トレとITの情報日誌) https://koleoblog.info/


今日からpythonを使ってRESTfulなAPIを作っていきます!

最終的に作るのは株価を取得するためのAPIです。「この銘柄の情報がほしい」というリクエストを送ると、JSON形式で返してくれるようなものです。

要件整理
①全銘柄情報を一覧で取得できるようにする(GET)
②特定の銘柄の情報を取得できるようにする(GET)
③銘柄情報を更新できるようにする(POST)

RESTfulAPIだと、PUT(更新)やDELETE(削除)も機能としては語られることが多いですが、実務面では上記のGETとPOSTがあればよいと思いますので、まずはこの2つを習得できるようになりましょう!

この記事は連載形式で、以下のような流れで書いていきたいと思います。「もう知ってるよ!」という方は読み飛ばしていただいてもOKです!

  1. そもそもAPIとは

  2. まずは既存のAPIを叩いてみる

  3. 株価取得APIを作っていく


まずはAPIの正体を理解するところからいってみましょー!🔥

1、そもそもAPIとは?

1−1、APIとは?

ちまたではAPI、APIと言われますが、実際APIを説明しろと言われると、難しい、、、という方も多いのではないでしょうか。

APIとは、Application Programming Interfaceの略称です。
簡単にいうと、他社が提供するサービス内の情報や機能を扱えるようにする仕組みのことです。
少し技術的なことをいうと、データを持っている人に対して、欲しい情報をリクエストすることで、一連の情報を取得できるような仕組みのことですね。
データが欲しい人:「こういうデータください!」
データを持っている人:「はいどうぞ!(一連の情報)」


1−2、Web APIとは?

APIが何なのか分かったところで、次はAPIの中でもWebAPIという言葉を理解しましょう!

Web APIというのは、HTTP/HTTPSベースで実現するAPIのことです。つまりWEBを介して使用するAPIのことです。

皆さんもChromeなどで、インターネットをすると思いますが、そのとき、URLを叩きますよね??このURLをよくみてもらうと、URLの最初に「http://」や「https://」などがあると思います。

このHTTP/HTTPSベースといっているのは、この形式と同じですよという意味です。つまりWEBでインターネットを見る仕組みを使って、APIを実現しているのが WebAPIだと思っていただければ良いかなと思います。

基本的に今世の中で言われているAPIというのは、このWEB APIのことです。
ちなみに、WebAPIじゃないAPIって何があるの??と興味がある方もいるかもしれません。WebAPIじゃないAPIというと、独自APIなどもあるので、もし興味があれば調べてみてくださいね!

1−3、REST APIとは?

さらに、APIの理解を深めていきましょう!

REST APIという言葉を聞いてことがありますか?
実際にはRESTful APIが正しい名称ですが、略してREST APIと呼ばれることが多いです。

REST APIとは、「RESTの原則」に従って実装されているAPIのことです。
REST = REpresentation State Transfer
のことです。

REST  APIは以下の4つを満たしているものを指します。
 1、アドレス可能性
 2、ステートレス性
 3、接続性
 4、統一インターフェース


1、アドレス可能性
アドレス可能性とは、提供する情報がURIを通して表現できることです。
個人的には4つの中で一番分かりにくい表現だと思っているのですが、つまり「欲しい情報に対して、 1つのURLで表現できる」ということだと理解していただければよいと思います。

2、ステートレス性
ステートレス性とは、全てのリクエストが独立しているということです。
2回APIを呼び出したとして、1回目のリクエストの結果を2回目が引きずったりしないということです。
もう少し難しい言い方をするとセッションを保持しないということになりますね。

3、接続性
接続性とは、情報に別の情報へのリンクを含めることで、別の情報に接続することが可能になるということです。
データを欲しい人が、最終的に欲しい情報のURLを把握していなかったとしても、データを提供する側がリンクを辿ることでデータのパスを導くことができる性質のことです。

4、統一インターフェース
最後の統一インターフェースとは、情報の取得・作成・更新・削除(いわゆるCRUD)がすべてHTTP/HTTPSで可能であるということです。

具体的には以下の4つをHTTP/HTTPSのリクエストを通じて操作することができることをいいます。
 ・GETでデータを取得する(CRUDのR)
 ・POSTでデータを作成する(CRUDのC)
 ・PUTでデータを更新する(CRUDのU)
 ・DELETEでデータを削除する(CRUDのD)

これで、APIが何なのか、中でもWebAPIとは何なのか、さらにRESTfulなAPIとはどういうAPIなのかを理解していただけたかなと思います!

今回は以上にします!次回は既存のAPIを触ってみることで、さらにAPIに関する知識を深めていきましょう!


この記事が気に入ったらサポートをしてみませんか?