おはよーございます。
Railsを使ってAPIサーバの初歩の初歩的なものだけ作りました。
つくったものはGitHubに置いてみています、
やってみたことはざっと並べて見ると、今のところこんな感じです。
APIモードでrailsアプリの雛形作成
RubyMineというIDEを使うと特に何も考えずに作ることができました。 画面にあるようにRails APIを選んでプロジェクトの名前を入力するだけですね。なんと便利な。
実際の動作を受け持つContollerクラスに処理を実装
待ってるだけでRailsさんが初期セットを色々自動で作ってくれます。 実際のAPI動作を司る部分は、 自分で作ったのはcontrollers/match_controller.rbになります。
このファイルもRailsの機能で作ることができて、RubyMineの場合は以下のメニューから呼び出すことができます。
Tools ー> Run Rails Generator
これを使うとこんな感じでRailsのコマンドがずらーっと出てきますが、コントローラを作るときは、rails g controllerを選ぶと以下のような画面がでるので
Controller nameに作りたいクラス名を入力
Actionsのところは、最初なんも知らずに空白で作ってしまっていたのですが、 ここに入力した名前でメソッドを作ってくれるようです。このメソッド名はAPI呼び出すときに使う名前になるので、例えばクラス名Matchでメソッド名がtestの場合はmatch/testで呼び出します。でOKボタンを押すと、controllers/の下に指定した名前に_controllerをつけたファイルが自動で作られます。
APIとして機能させるために、もうひとつやることが
さきほど紹介したActionsのところに名前を入力しておくと、config/routes.rbというファイルに指定した名前の記述が追加されます。これがAPIとして呼び出すときの定義ファイルとなっているようで、ここに名前を書かないといくらcontrollerに処理を記述しても呼び出すことができません。
僕の場合は、空白で作ってしまったのでこのファイルに手書きで加えました。
# これを追加 resources :match end
こうやって書いておくとRESTAPIという規則に従って以下のようにアクションが自動で追加されるんだそうです。
GET /match match#index GET /match/new match#new POST /match match#create GET /match/:id match#show GET /match/:id/edit match#edit PATCH/PUT /match/:id match#update DELETE /match/:id match#destroy
このあたりの情報はRailsGuideを参考にしました。
すでに長くなってきたので、続きはまた次回
ここまでできたのであとはメソッドを追加して実際に動きを確認するところなんですけど、すでに記事が長くなってきてしまいました。書く方も読む方も疲れてしまうので、否、どちらかといえば書く方が疲れてきていますので、続きはまた次回にしたいと思います😀
では、また!