タグ

APIとJSONに関するtakaesuのブックマーク (7)

  • Rails API開発におけるJSONレスポンス生成方法と内部実装について

    Ruby on Rails Advent Calendar 2017 19日目の記事です。 RailsAPI開発するときのJSONレスポンスの生成方法についてまとめてみました。 JSONレスポンスの生成方法について RailsのHTTPレスポンスをJSONで生成する方法は以下の2つに分類されます renderメソッドにjson引数を指定する(モデル方式) templateハンドラでレンダリングする(ビュー方式) ライブラリでいうとactive_model_serializersは1のモデル方式、jbuilderやjbは2のビュー方式になります。 モデル方式はrenderメソッドにjson引数が指定されているとActionController::Renderers#_render_with_renderer_json が呼び出され、指定したオブジェクトのto_jsonメソッドが呼び出される

  • 体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘

    テスト書きすぎ問題 - hitode909の日記 階層が増えるとテストが増える - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 最近書いているWebアプリは、HTTPリクエストを送ってレスポンスと状態をテストする、というテストだけ書くようにしてる。リクエストするとブログエントリを返す、というサービスだとこういう風なテストを書いてる。(HTMLを返すようにすると話が広がって説明が面倒なのでJSONを返すAPIで説明する) describe "Entry resource" do let(:params) do {} end let(:env) do { "HTTP_AUTHORIZATION" => "Bearer: #{access_token.token}" } end let(:access_token) do AccessToken.make(user

    体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘
  • Web API: The Good Partsを読んだので「レスポンスデータの設計」についてまとめた - Qiita

    はじめに APIの勉強のために、Web API: The Good Partsを読みました。平易な日語で書いてあるので、読みやすかったです。 とはいえ、何度もを読み返すのは大変なので、自分用まとめも兼ねて書こうと思った次第です。 1個1個まとめていくと結構な量があるので今回は「レスポンスデータの設計」についてまとめました。 でいうと3章に書いてあります。 この記事も参考に Web API: The Good Partsの他のまとめ記事もここに載せておきます。 2.2: Web API: The Good Partsを読んだので「良いURI」についてまとめた 2.6: Web API: The Good Partsを読んだので「OAuthの仕組み」についてまとめた 4章: Web API: The Good Partsを読んだので「HTTPの仕様」についてまとめた 5章: Web AP

    Web API: The Good Partsを読んだので「レスポンスデータの設計」についてまとめた - Qiita
  • APIドキュメントを実装と乖離させないために - Qiita

    内部用APIであるか外部の開発者向けのAPIであるかに関わらず、ドキュメントと実装との乖離は極力避けたいものであるが、注意深く開発を進めない限りこの状況は容易に起こり得る。何が乖離を引き起こし、どうすればこの状況を回避できるのか考えながら、JSON Schemaの利用例を紹介する。なおこの投稿では、HTTP経由でデータの通信を行うような狭義のAPIのことをAPIと呼ぶことにする。 同じ情報源を参照する APIドキュメントと実装が同じ情報源を参照するようにすれば、論理的に関連した要素は統一的に変更され、これらの変更は完全に同期が取れたものになる。つまり、変更時に乖離が生じにくくなる。但し情報の見せ方によって乖離が発生する可能性は十分にだろうし、乖離が発生するのは理解しようとする側の認識の問題であるから、論理的に全く起こり得ないということではない。 この参照の形には、両者が別の情報源を参照する

    APIドキュメントを実装と乖離させないために - Qiita
    takaesu
    takaesu 2015/06/18
    APIドキュメント
  • 全てがJSONになる - ✘╹◡╹✘

    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

    全てがJSONになる - ✘╹◡╹✘
  • JSON Schemaを少しでも楽に使う - Augmented Usamimi

    @izumin5210 こういうのある interagent/prmd https://t.co/QW9oCp0Lzh— ダメになるクッション (@r7kamura) December 22, 2014 gems prmdでscaffold jdocでドキュメント生成 rack-json_schemaでmockサーバ作ったりvalidationしたり… # Gemfile # ... gem 'rack-json_schema' group :development do # ... gem 'prmd' gem 'jdoc' end usage yamlで書けるのは楽.jsonよりは…. # doc/meta.yml --- "$schema": http://json-schema.org/draft-04/hyper-schema description: A schema forG

    JSON Schemaを少しでも楽に使う - Augmented Usamimi
  • respond_withメソッドを使うと処理をDRYに記述できる - (゚∀゚)o彡 sasata299's blog

    2012年05月07日11:49 Ruby respond_withメソッドを使うと処理をDRYに記述できる Rails には respond_to というメソッドがあり、これを使うと同じリソースに対して複数のフォーマットでレスポンスを返す処理を簡単に書けます。例えば users_controller.rb で以下のように定義すれば、/users でも /users.xml でもひとつのアクションで処理することが可能です。 def index respond_to do |format| format.html # index.html.haml format.xml { render :xml => @users } end end さらに、Rails3.0 からは respond_with というメソッドが追加されました。これを使うと処理をさらにすっきりと書くことが可能になります。 c

    takaesu
    takaesu 2014/02/20
    respond_toとかの使い分け
  • 1