サーバーからブラウザに返してくるコードのことをステータスコードといいますが、これには 100番台 案内(インフォメーション) 200番台 正常処理 300番台 移転通知 400番台 (クライアントにおける)処理失敗 500番台 サーバーエラー があり、400番台と500番台がいわゆるエラーコードとなります。正常処理である200番台は通常ブラウザに表示されることはありませんので、ここでは300番台~500番台までの主なステータスコードについてのみ取り上げます。
サーバーからブラウザに返してくるコードのことをステータスコードといいますが、これには 100番台 案内(インフォメーション) 200番台 正常処理 300番台 移転通知 400番台 (クライアントにおける)処理失敗 500番台 サーバーエラー があり、400番台と500番台がいわゆるエラーコードとなります。正常処理である200番台は通常ブラウザに表示されることはありませんので、ここでは300番台~500番台までの主なステータスコードについてのみ取り上げます。
RailsでAPIを作るならGrapeを使うってのが定番っぽいので使ってみました。 参考にしたのはこのへん intridea/grape Ruby - RailsとGrapeで行う最高のWeb API開発 - Qiita Grapeの導入〜Hello World インストールはgem installすればOKです。次にAPIの実装コードを書くファイルを用意します。僕は#{Rails.root}/app/api/api.rbとしました。 # app/api/api.rb class API < Grape::API format :json resource :items do get '/hello' do {hello: "world"} end end end そしてroutes.rbにてGrapeをマウントします。 # routes.rb mount API => "/api" AP
RailsでRESTful APIを書くんだったら、Grapeでしょう。 という話をよく聞くので、Railsを使ってWebAPIを書くためにGrapeを使ってみることにしました。 Grapeってなんだろう GrapeのgithubのREADMEにある通り、 Grape is a REST-like API micro-framework for Ruby GrapeはRubyでRESTlikeなAPIを実装するための「マイクロフレームワーク」らしいです。 よくRailsと組み合わせで見る事が多いせいか、Rails専用のものだと思っていたのですが、 Rack単体や、Sinatraでも使用することが可能みたいです。 そんなにRailsの機能を使わない場合や、軽さを求められる事案にはこちらのほうがいいのかなと思っています。 とりあえず、今回はRailsと組み合わせて使うサンプルを適当に書いてみま
Rails アプリに Web API を追加したい。 Rails のコントローラーで実装してもいいんだけど、せっかくなんで、 Web API マイクロフレームワーク『Grape』を試してみた。 Grape | REST-like API micro-framework Gemfile に gem "grape" を追加して bundle install でインストール。 RAILS_ROOT/app/api に api.rb を作成。 RAILS_ROOT/lib に置くか迷ったけど、モデル使うし、Web API もアプリの一部と考えているから app 下に置くことにした。 # coding: utf-8 class API < Grape::API format :json default_format :json prefix "api" version "v1", using: :p
For a PUT request: HTTP 200, HTTP 204 should imply "resource updated successfully". HTTP 201 if the PUT request created a new resource. For a DELETE request: HTTP 200 or HTTP 204 should imply "resource deleted successfully". HTTP 202 can also be returned by either operation and would imply that the instruction was accepted by the server, but not fully applied yet. It's possible that the operation
以下の記事のAPIのみの設定の部分を参考にさせていただきました。 RailsでAPI作成とAPIのテストのまとめ - Rails Webook ここでは、Uberみたいにドライバーを登録していくサービスのAPIを想定。Driverクラスってのを作ってます。 routes.rbに設定 config/routes.rbに以下のように記述します。 Rails.application.routes.draw do namespace :api, { format: 'json' } do resources :drivers end resources :drivers root to: 'drivers#index' end まず以下でDriverクラスに関するnamespaceを、formatをjsonに指定して作成します。 namespace :api, { format: 'json' }
もっとgrapeを使いこなしたくて。とりあえず、勉強してみましたシリーズの小粒記事です。 簡単なセットアップ手順 途中まで書いたんですが、Ruby – grapeメモ – Qiita が本当にわかりやすいです。とりあえず、これをベースに気になったことを書いていきます。 パラメータのバリデーションと強制 params do requires :id, type: Integer optional :text, type: String, regexp: /^[a-z]+$/ group :media do requires :url end optional :audio do requires :format, type: Symbol, values: [:mp3, :wav, :aac, :ogg], default: :mp3 end mutually_exclusive :medi
curl コマンド 2015/03/31 HTTPアクセスをしてコンテンツを取得できるコマンド。 wgetでも同じようなことができる。 FTPやSCPとかでもファイル転送できるらしいが、自分はHTTPやHTTPSで使うことがほとんど。 URLをパラメータにしてそのコンテンツを標準出力させるのが、基本的な使い方。 $ curl http://www.example.com/ ファイルに保存したければ、リダイレクトを使えばよい。 -o オプションでもファイル保存ができるらしいが、そんなオプションを記憶しておくよりもどのコマンドでも使えるシェルのリダイレクトの方法を覚えておけば、ほとんどの場合に使えるから、自分はそうしている。 $ curl http://www.example.com/ > example.html F5アタックなんかしたいときは $ while :; do curl -s '
お知らせ 都合上zip.cgis.bizのIPアドレスを変更しました。 変更したのは2016年7月12日AM10:00頃~PM17:00頃です。 これに伴い工事期間、あるいは名前解決の浸透期間、通信でませんでした。 概要 当サイトではGET送信されてきた郵便番号についてデータベースを検索し、住所情報を含む XML / CSV ファイルを出力します。 携帯電話サイトなど、簡便な入力フォームのための入力補助にご利用いただけると思います。もちろん、単なる郵便番号検索フォームにも利用できます。 データベースは「郵便ホームページのCSVファイル」をMySQLに格納して利用しています。 毎月10日のAM3:00頃に上記ファイルを元にデータベースを更新しています。 データベース更新時、数秒程度サービスが利用できない場合があります。 無料ですが、リンクウェアです。詳細はご利用規約をご覧ください。 システム
さくらのクラウドでは、公開されているAPIを利用することでサーバーの作成や各種設定などを自動処理できる。今回はこのAPIをRubyを使って操作する例を紹介する。 プログラミング言語からさくらのクラウドAPIを利用するメリット 前回はNode.jsベースのコマンドラインツール「sacloud」を使い、さくらのクラウドAPIを使ってサーバーの作成や設定などを行う流れを紹介した。sacloudはシェルやバッチファイルなどから利用するには便利だが、条件分岐を行ったり、複雑な操作を行うにはやや不向きだ。そういった目的では、Rubyなどのスクリプト言語からさくらのクラウドAPIを操作すると良い。 Rubyなどのスクリプト言語は、シェルスクリプトよりも複雑な処理を記述しやすいほか、ほかの既存ライブラリと組み合わせることで容易にさまざまな処理を実現できるというメリットがある。たとえばサービスの負荷を監視し
Ruby on Rails 4を使ってRESTfulなAPIサーバを作ってみます。RoRを触るのは数年ぶりなのでググりながらやってみた結果のメモとなります。 そもそも新しいrubyが入っていなかったので入れます。rvmというのが便利らしい。nodeでいうnvmやnodebrewですね。 uname -a Linux mnu13 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux curl -sSL https://get.rvm.io | bash -s stable source ~/.bash_profile rvm install 2.1 rvm use 2.1 ruby -v ruby 2.1.2p95 (2014-05-08 revision 458
はじめまして。今年中途入社しました関と申します。 UFCと映画が好きです。 ということで、おすすめの映画はWarriorです。 すみません、本題です。 入社以来、主に外部APIを使ったシステムを構築しています。 普段はAPIを使わせて頂いている側なのですが、今回試しに自分でもそれっぽいものを作ってみました。 (正確にはそういう環境を用意しただけでアプリ側のコードはほぼ書いてません。) はじめに 以下のような流れになっております。 VMに実行環境作成 ↓ railsアプリの作成 ↓ curlで叩いてみる ではさっそくまいりましょう。 実行環境構築 Chefを使ってCentOS6.5の環境を作ります。 ※Chefの使い方を示しているわけではありません。結構適当です。 chef関連インストール gem install chef knife configure gem install knife-
Send feedback Firebase Database REST API Stay organized with collections Save and categorize content based on your preferences. API Usage You can use any Firebase Realtime Database URL as a REST endpoint. All you need to do is append .json to the end of the URL and send a request from your favorite HTTPS client. HTTPS is required. Firebase only responds to encrypted traffic so that your data remai
久々の更新。しばらくRailsで趣味の開発に没頭しておりました。 というわけで 今回はRESTful Web APIs読書会(第三回)の参加報告を。 今回は主に「リソースの定義」と「HTTPリクエストの種類」と「安全性・べき等性」のお話。 ・リソースの定義 リソースというと結構個人的に定義が曖昧で、データベースのデータとかがメインになるのかなと思っていたけど、どうやらRESTにおいて URIで表現されるものは全てリソースになるらしい。 そしてリソースの状態は以下の二つによって表現されうるらしい。 ( 2013年12月1日改正、コメントより「リソースが(同じ状態で)複数の表現を持つ場合に、クライアントは望む表現をどのように指定するか、の選択肢である」といただきました。必ずしも二つではないということですね ) 1. Content negotiation( 「内容ネゴシエーション」とも。HTT
追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptがRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptがRailsから独立している Railsはとても堅牢。 モデル、コントローラ、ルーティングと、変にいじらない限りはほとんどテストが要らない。 必要なのは、モデルに新たにpublicメソッドを付けたときくらいだろう。 実際、バックエンドはそうそうバグが出ない。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く