質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

3回答

2663閲覧

面接でAPIを作ったことありますか?と聞かれましたが自分の認識しているAPIと違う気がしたのでAPIとは何かについて認識の確認をしたいです。

poskos

総合スコア8

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

2クリップ

投稿2020/04/19 14:09

##わからなかったこと
主題にあるように面接で「APIは作ったことありますか?」と質問されました。
自分のAPIの認識はTwitter APIのような公開されている物を利用するといったものだったので質問の意味がわからず困ってしまいました。

##自分で調べたこと
そこで少し調べたところ以下のようなことを言っていたのではないかと思いました。
例)会員制サイトを作りユーザーの情報を操作したい時に以下のように別々のURLに接続し処理を行う機能のこと

ユーザ一覧https://システム名/users/indexGET
ユーザ登録https://システム名/users/registerPOST
ユーザ変更https://システム名/users/updatePOST
ユーザ削除https://システム名/users/deletePOST

また調べていくうちにREST APIについての認識もこうではないかと思いましたので確認させてください。
REST APIの認識としては、以下のように**「同一のURLに対し、別のhttpメソッド(?)で接続し別の処理を行うこと」**

ユーザ一覧https://システム名/usersGET
ユーザ登録https://システム名/usersPOST
ユーザ変更https://システム名/users/ユーザIDPUT/PATCH
ユーザ削除https://システム名/users/ユーザIDDELETE

かなり初歩的な質問で申し訳ありませんがよろしくお願いします。
またAPIについてわかりやすい記事や書籍等ありましたらお教えいただきたいです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2020/04/19 14:28

Twitter API だって誰かが作らなければ存在しませんから。ちなみに、Web API を API と略す風潮はいかがなものかと。Windows API とか、Java API とかはどこへ行ったのか…。
dodox86

2020/04/19 15:04

面接の質問は一見漠然としてますが、反対にその漠然とした内容への受け応えから技術力を推し量ろうとされたのかもしれませんね。
guest

回答3

0

自分のAPIの認識はTwitter APIのような公開されている物を利用するといったもの

あなたが思ったのは、「APIを利用するプログラムを作ったことがありますか?」ですね。

主題にあるように面接で「APIは作ったことありますか?」と質問されました。

日本語が正しいとすると、「(そのあなたが使ったような)APIを設計開発して誰かに提供したことがありますか?」というような事です。

もちろん、「API(を利用するプログラム)は作ったことありますか?」の省略だった可能性もあります。

どちらかは、最終的には言った本人に聞かないと分かりませんが、その会社や業務内容から判断できるかも知れません。

投稿2020/04/19 15:15

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poskos

2020/04/21 11:24

>日本語が正しいとすると、「(そのあなたが使ったような)APIを設計開発して誰かに提供したことがありますか?」というような事です。 決められた方法でモジュールを呼び出し結果を返すモノ(twitter APIのような)を作成したことがあるかということですかね
guest

0

主題にあるように面接で「APIは作ったことありますか?」と質問されました。

大前提として、「どんなAPIの話をしているのか」はその面接官に聞いた方が良いです。

Wikipedia - アプリケーションプログラミングインタフェース

自分のAPIの認識はTwitter APIのような公開されている物を利用するといったものだったので質問の意味がわからず困ってしまいました。

「公開」はAPIの定義に含まれません。
非公開(自社システムの内部で利用されるものなど)のAPIの方がむしろ大多数です。

REST APIの認識としては、以下のように「同一のURLに対し、別のhttpメソッド(?)で接続し別の処理を行うこと」

挙げられているURIは「同一」ではなく「二種類(ユーザーIDの有無)」になってます。

また、
RESTful APIとは?

URIを通じ、リソースを端的に指し示すことができる性質を有していること。APIのバージョン、データを取得するのか、それとも更新するのか、などが一目でわかるように、すべての情報が一意なURIで表現されるようにすること。

が原則です。

投稿2020/04/19 14:43

gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poskos

2020/04/21 11:34

たしかに例えばどのようなもののことですか?と聞き返すべきでした。 非公開のAPIとはどのようなものになるのでしょうか? 一つの業務システムがあったとして、どのような部分がAPIと呼ばれるものに当たるのか自分自身イマイチ理解できていないような気がするので、例などあればご教示いただきたいです。 >挙げられているURIは「同一」ではなく「二種類(ユーザーIDの有無)」になってます。 こちらに関してもご指摘ありがとうございます。 自分があげた例ですと、ユーザー情報の変更、削除の場合でも同一のURI(https://システム名/users)にリクエストを投げ処理する。 ユーザーIDに関しては、URIに含めず送信するということですね。
guest

0

APIは、「Application Programming Interface」を略して、APIです。
つまり、アプリケージョンとプログラミングをつなぐインターフェースですね。
私には例えばOpenCV(画像処理ライブラリ)のようなライブラリのようなものに思えますが、
なんとなく別のグループに分類されているように思います。

要するに、教科書的な答えて言うと、「APIは作ったことありますか?」という就職(?)面接での
答えについては、
アプリを作成するためのライブラリ的な(ある程度一般的な人に使用されるのが前提でのレベルで一般化されたライブラリ的な)プログラミングをしたことがありますか?ということを聞きたいのだと思います。
それを答えればよいのかと思いますね。

投稿2020/04/19 15:47

Matsui_hero

総合スコア346

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poskos

2020/04/21 11:18

ライブラリ的なプログラミング。。。 モジュールのまとまりのクラスのような呼び出して使うタイプの物を作成したことがあるかと言った意味ということでしょうか? それともそれらのインターフェースになるようなモノということですかね。。。?
Matsui_hero

2020/04/21 13:42

インターフェースになるようなものを作成。と、ライブラリになるようなものを作成。と。 それはあなたのいう「面接」でどのような流れで聞かれたのかによると思いますが。。。。。。。。 どちらで聞かれているのかというよりかは、より汎用的なものができたほうがいいのは間違いないので、 より汎用的にできることを伝えられるようにお考えになられた方がよろしいかと思います('ω')
poskos

2020/04/24 03:54

APIの認識もありますが相手の質問の意図を汲み取る能力と、面接時でも答えるばかりでなく不明な点は質問すると言ったことの方が大事な気がしてきました。。。 ご返答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問