Rails での JSON API 実装まとめ 前後リンク RESTful API のおさらい Rails での JSON API 実装まとめ スキーマファースト開発 The NEXT of REST Ruby on JSON の図のような流れになるんですが、それぞれ見ていきます。 to_json (2011-2013 頃) 2011-2013 年頃、僕らは render :json を使っていました。 render json: @user render json: @user.to_json として User#as_json や User#to_json を利用します。 この頃はまだ SPA という言葉もなく、ネイティブアプリもそこまで流行っていなかったので これで十分だったのですが、どんどん API に世の中が寄っていき、限界を迎えます。 この頃のツラみ JSON を組み立てるのが大変
Posts Jan 16, 2024 Inline SVG in Ruby on Rails Nov 30, 2023 System.d service (daemon) for Puma server instaled under RVM (Rails) Apr 26, 2023 Update millions of records in Rails Jan 7, 2023 Responsive Navbar with Tailwind & Stimulus JS Dec 8, 2022 Responsibility On Rails Aug 16, 2022 Elasticsearch 7 under Ubuntu - protect with basic password May 9, 2022 Use Importmaps without Rails Apr 28, 2022 Si
TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIはレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or
When I first embarked on creating an API for a project, I couldn’t find a ton of resources on how to test it with RSpec, so I decided to write a blog post about it. Let’s say we’re building an app that allows users to list their second bedrooms to short-term guests. We all love Airbnb :) This would be an application with many models that have complex associations, but let’s focus on what a host ca
samuelrodgers752 | Flickr - Photo Sharing! RoarはRepresenterを使ってRESTなAPIをパース、レンダーすることができるgemです。 つまり、Roarを使うことで、RailsでJSONを返すAPIサーバーを作成したり、逆に、APIサーバーにアクセスするAPIクライアントをRubyで作れます。 下記に記載しましたが、有名なgemに比べて、メリットとしては、Rubyでサーバーとクライアントを作る場合、同じような箇所を幾分か共有できる点です。 デメリットとしては、個人的にパースやレンダー時にエラーが発生してもデバッグしづらく対処しづらいことです。 サーバー側でAPIを作る場合、「Ruby Toolbox - API Builders」によると、jbuilderやGrape、Rablなどが人気のようです。 APIにアクセスするクライアントを作
Grape は RESTful な API を構築するためのマイクロフレームワークです。 今回は Grape を使って簡単な Web API を作っていきます。 intridea/grape · GitHub [2015/03/07] ファイルの配置を変更しました。変更点は GitHub をご確認ください。 準備 $ rails g model MessageBoard title:string body:text $ rails g model Comment message_board_id:integer body:text $ rake db:migrate $ rails g rspec:install # app/models/message_board.rb class MessageBoard < ActiveRecord::Base has_many :comments
(2014/12/12 追記) 本稿のアップデート版みたいなのをアップしました→『【Rails】RSpecと三種の神器でらくちんWeb APIテスト - Qiita』 Railsアプリを作るときに,Web APIのテストをしようとしたら命を落としかけたのでいろいろヤバそうなところをメモっておきますφ(`д´) JSONレスポンスのテストはすべき? **Everyday Rails - RSpecによるRailsテスト入門**では,Viewのテストは取り扱っていません(理由は2章 Q&Aにて). でもWeb APIのレスポンスはどうなんだろう? ということで訳者のひとりである西脇.rbの@jnchitoさんに聞いてみたところ,次のように答えていただきました. @izumin5210 するべきかどうかはケースバイケースです・・・っていうと回答にならないので、yes/noで答えるならyesかな~
Rails4から事実上標準になったっぽいJbuilderを使って、Grape+RailsなWebAPIのJSONフォーマットを柔軟に作ってみる。has_manyなどで深い階層のモデルを使ってAPIを作ると面倒くさいことが多いんだけど、Jbuilderならシンプルに書くことが出来る。 他のGemでActiveModel::Serializersっていうのもあったけど、こっちはモデルで出力フォーマットを定義していくタイプっぽくて、複雑なJSONフォーマットにしようとすると面倒。Viewで定義できるJbuilderの方が良さげ。ActiveModel::SerializersはモデルとAPIが1対1の時に良いのかも。 前提 Rails v4.1 grape v0.9.0 grape-jbuilder v0.2.0 Gemfile
RABL (Ruby API Builder Language) is a Rails and Padrino ruby templating system for generating JSON, XML, MessagePack, PList and BSON. When using the ActiveRecord 'to_json' method, I find myself wanting a more expressive and powerful solution for generating APIs. This is especially true when the JSON representation is complex or doesn't match the exact schema defined within the database. In particu
Introducing the rails-api project Nov 22, 2012 Ruby on Rails is a great tool to build websites incredibly quickly and easily. But what about applications that aren’t websites? Rails is still a first-class choice for this use-case, but why settle for good when you could be the best? That’s why I’m happy to introduce Rails API: a set of tools to build excellent APIs for both heavy Javascript applica
Ruby Advent Calendar 2013 2日目 るびぃあどぅべんどぅくぁれんだー2013、2日目の記事となります。昨日はすうぱぁももんがさんのあくろばてぃっくな今年こそRubyを始めたいあなたに!ももんが流・最強のRuby学習法です。 概要 三回ほど手を変え品を変えWeb APIをRubyで作ってきました。ここではそこから学んだ今の私の全力全開、最高のWeb API開発についてコード例を交えてお話したいと思います。ここで言うWeb APIとはスマホアプリから使用する、サーバに置いてあるAPIをイメージして頂ければと思います。 ここではユーザが写真をサーバに保存できるAPIを想定し、応答のフォーマットはJSONとします。 使うもの rails 4 Rails 3ではなくRails 4を使うのは趣味です。 grape APIを書く際に非常に楽になります。APIで使用するURLとHT
Photo by Gonzalo Baeza | Flickr - Photo Sharing! RailsでJSONを返すAPIを作成し、また、APIのテスト方法も説明します。 JSONを返すAPIは、RailsのActiveSupportより拡張されたto_jsonメソッドとDMMが開発したjbuilderというGemを使います。 APIのテストにはおなじみのRSpec3を使います。 動作確認 Rails 4.1.7 jbuilder 2.2.6 rspec-rails 3.1.0 factory_girl 4.5.0 目次 1. 前提条件 2. APIの作成 2.1. 1つのコントローラーでHTMLやJSONを返すAPI 2.2. JSONのみを返すAPI 2.3. APIのバージョニング 3. APIのテスト 3.1. テストファイルの準備 3.2. 一覧(index)APIのテス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く