0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

非エンジニアの同期に「APIってなに?」って聞かれたから私のイメージを伝えてみた

Last updated at Posted at 2021-06-25

非エンジニアの同期に「APIってなに?」と聞かれたのでその時の回答をメモ。
細かい仕組みとかは置いといて、イメージだけでもわかるようにって感じ。
※あくまでも私のイメージです。

結論

APIとは、
「特定のURLにアクセスすると欲しい情報が受け取れる」

例えば...

「今日の給食が何か教えてくれる」っていうAPIがあるとします。

登場人物

  • 今日の給食で何がでるかしりたい人:生徒(APIを使う人)
  • 今日の給食に何が出るか教えてくれる人:給食作ってくれるおばちゃん(API本体)
生徒 to おばちゃん
「今日の給食教えて」(APIを叩く行為)
おばちゃん to 生徒
「今日の給食は○○だよ」(APIから返却された情報)
```

って教えてくれる。

↑みたいな感じで欲しい情報を提供してくれる機能(おばちゃん)みたいなのがAPI。

## もう少し細かく
APIによっては、
URLを叩く際にこちらからも情報を提供すると、
**①さらに細かいことを教えてくれたりする。**
逆に必要な情報がない場合、
**②何も教えてくれなかったりもする。**

上記の「今日の給食が何か教えてくれる」APIを元に例えると、

**①細かいことを教えてくれる**

生徒 「今日の給食のデザートを教えて」
おばちゃん 「デザートは☆☆だよ」


`デザート`っていう指定をしたことで"デザート"の情報を教えてくれる。

**②情報を与えないと何も教えない**
`「〇〇学校の人にだけ教える」`っていうルール?みたいなのも作れる。
(セキュリティてきな)

生徒1「今日の給食教えて」
おばちゃん「あなたの学校わからないから教えられません」

生徒2「■■学校の生徒です、今日の給食教えて」
おばちゃん「■■学校の人には教えられません」

生徒3「○○学校の生徒です、今日の給食教えて」
おばちゃん「今日の給食は〇〇だよ」



みたいなね。
**「この情報を与えられたらこの情報を返す」**
だったり、
**「この情報がなかったら(一致しなかったら)なにも返さない」**
っていう作り方もあるよねって感じ。

どう作るかは仕様次第かなと。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?