57
49

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 5 years have passed since last update.

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

Last updated at Posted at 2014-08-28

今回はじめて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の使い方について書きたいと思います。

57
49
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
57
49

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?