48
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

簡単な処理を行うAPIの作り方

今回はじめてAPIというのを作ったので、そのやり方を忘れないうちに記していこうと思います。

APIってなんぞや?

APIとは"Application Programming Interface"の略です。
具体的には、あるコンピュータープログラムの機能や管理するデータなどを、外部の他のプログラムから呼び出して利用する為の手順やデータ形式などを定めた規約のことだそうです。(参考:API IT用語辞典より)

一般的には、外部のプログラムから使われることを目的として作られた関数という認識なのかなと個人的には思ってます。

作ってみました。

今回は、user_idを入力したらそのuser_idに紐づいているphoto_idを出力してくれるAPIを作成しました。

1.関数を作る。

test_controller.rb
def user_photos
  user = User.where(id: params[:id])
  user_photos = Photo.where(user_id: params[:id])
  error_message = User.where(id: params[:id]).blank? ? 'Can`t find the user`s photo' : ''
  render :json => { user_photos: user_photos , error_message: error_message }
end

これで、user_photosを実行するとphoto_idをゲットすることが出来ますが、まだ外部のプログラムからは呼び出せません。

2.ルーティング設定

外部から呼び出したい場合は、test/user_photosに対しルーティング設定を行う必要があります。

routes.rb
GET test/user_photos/:id

と設定します。

これでブラウザで~/test/user_photos/:id #存在するuser_IDを叩けば、紐づいているphoto_idがjson形式で返ってくるようになりました。

この時点で、user_photosは外部からアクセスが可能な関数となりました。

次回は、このapiの使い方について書きたいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
48
Help us understand the problem. What are the problem?