at Rails developer meetup 2018 Day 2 Sample code: https://github.com/cnosuke/bank_sample
{ "message": "Validation Failed", "errors": [ { "resource": "Issue", "field": "title", "code": "missing_field" } ] } 今回は、このようなエラーをリクエストの呼び出し側に伝える方法を説明します。なお、この説明はDefining Request Protocol for Web Serviceのエラーの扱いをもう少し詳しく説明したものとなります。 サービス用のリクエストプロトコル APIKitでは、特定のサービス(Web API)向けのリクエストの特徴をまとめるために、サービス用のリクエストプロトコルを定義します。今回はGitHub APIを例としているので、baseURLのデフォルト値がhttps://api.github.comとなっているGitHubRequestを定義しま
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。
エンジニアがアプリ担当とAPI担当で分かれているチームで、API担当のエンジニアがアプリ開発経験が無かったりすると、アプリ担当のエンジニアはどんなAPIがクライアントアプリにとって使いやすいのか、上手く伝えるのに苦労する事がありますよね?本記事はそんな場面でAPI担当のエンジニアに読んでもらう事を想定しています。 APIと型 アプリ側はRESTクライアントにRetrofitやRestkit等、既に広く使われているライブラリを使用する事が多いです。それらのライブラリは、オブジェクト・JSON間の変換機能があり、アプリ側ではJSON等シリアライズされるデータ形式を意識せずに、処理系上のオブジェクトをそのまま扱えます。即ちAPI経由でやり取りされるデータは全て型を持つのです。 例えばAPI側のコードで以下の様に定義されたクラスが
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
API機能をご利用いただくには、e-Statでのユーザ登録が必要です。登録がお済みでない方は、最初にユーザ登録を行ってください。
Natasha Murashevがブログで、API Strategy and Practice Conferenceにおける、Michele Titolo (先月、「 Ruby RoguesメンバとiOSエンジニアのAPI議論」で紹介しました。)とEtsyのPaul Wrightの講演のポイントをまとめてくれています。 1) スピード ユーザは待ってくれない。300msで、リクエスト / レスポンスの処理 / ユーザに結果の表示をする。 2) RESTが常にベストとは限らない 以前のEtsyのAPIリソースはDBスキーマのミラーになっていた。クライアントがリスティングのリストを受け取ったら、ユーザがFavoritedに指定しているリスティングIDを取得するために、再度APIコールする必要があった。クライアントのAPIコールが増えると、クライアントのスピードが落ちる。また障害の可能性となるポ
2013年のいま、API界隈が熱い! 今年に入り、官公庁の統計データやNHKの番組情報など、今までなかなか利用できなかったデータがAPIとして扱えるようになってきました。このエントリでは現在公開されているAPIを一覧でまとめます。いま使えるAPIはこれだけ読めば大丈夫。2013年の最新マッシュアップ事情をあますとこなく網羅します! HOT! API 総務省 次世代統計利用システム(国勢調査、人口推計、就業構造、企業統計、物価統計 etc.) NHK番組表(※未公開) 行政・自治体・公共サービス 郵便番号 郵便番号検索API(郵便番号 → 住所) 郵便専門ネット(郵便番号 → 住所、郵便番号の簡易存在チェック) ぽすたん(郵便番号 → 住所、住所 → 郵便番号) IW3 PROJECT(郵便番号 → 住所、住所 → 郵便番号) 宇宙 Google+ JAXA PR(※現在一部の学生に限定公開
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
過半数の開発者が平均で3つ以上のAPIのインテグレーションを実装していると言われている昨今、「使い辛い設計のAPI」を実装するのは開発者にとっては頭の痛い問題ではないでしょうか? Programable Web上に投稿されたAPIのワーストプラクティスに関する記事が国内外の開発者の目に止まったようです。この記事によると悪いAPIに見られるプラクティスは下記のようなものだそうです。 貧弱なエラーハンドリング HTTPのルールを無視したREST API 裏に潜んだ生のデータモデルの露出 セキュリティの複雑さ ドキュメント化されていない予期せぬリリース 貧弱なデベロッパエクスペリエンス MVCフレームワークが良いAPIにしてくれるという思い込み 開発すれば使ってもらえると見なすこと 不十分なサポート 貧弱なドキュメンテーション APIを利用するだけでなく、APIを提供する場合に上記のようなポイン
FacebookのOffline_accessが廃止されてから、アクセストークンは最大2ヶ月までしか使えないようになりました。 色々調べた結果、アクセストークンのアクセス期間を最大で2ヶ月までのばす方法を見つけました。 そこでアクセストークンのまとめとして、PHPで今までのアクセストークンを自動で60日間に延長させるコードを書いてみます。 ただこのスクリプトは自分で発行したアクセストークンを使用しているため、他の人のアクセストークンの場合うまくいかない可能性があります。 ご参考程度にお願いします。 それでははじめましょう アクセストークンの取得 Facebookのアクセストークンには、ユーザーに紐付けられたアクセストークンと、Facebookのアプリに紐付けられたアクセストークンがあります。 Facebookのアプリを1つでも作ったことがある人であれば以下のURLからアプリのアクセストーク
2012年8月4日補足 今もこの記事にたどり着く方が結構多いようですが、内容はすでにちょっと古いです。 おそらく下記URLの内容のほうが、大いに参考になるかと思います。 offline_accessパーミッション削除に対応する 久々にFacebookのAPIネタです。お題は、とあるFacebookページの最新Feedをcron使って定期的に取得したい、というケースでどうすればいいのか、です。ちょっとはまったのでメモを残しておく。 まず最初に考えたのは、有効期限のない固定化されたアクセストークンを取得して、そのトークンを使ってgraph APIにリクエストを投げるという方法。普通にアクセストークンを取得すると1時間〜2時間という有効期限がセットされてしまうけど、offline_access権限をつけて取得したアクセストークンは固定化されるはずなので、あとはGraph APIエクスプローラにて
顔のニキビを一刻も早く治す効果的な方法 大事な日が控えている時に限ってできてしまうこと、ありませんか? ニキビができてしまうと、それだけで気分も落ち込み、印象も大分変わってしまいますよね? 私も最近まではチョコチョコニキビができてしまうことがありました。 最近は以下の対策をすることで、劇的にニキビに悩むことが少なくなりました。 よかったら参考にしてみてください。 【YouTube】赤ら顔を治す方法こちら 顔のニキビの原因 まずはニキビができてしまった原因を特定しましょう。 ニキビの原因は様々です。 食生活の乱れ、角質の汚れ、メイクがきちんと落とせていない。 乾燥によるニキビ、または疲れが溜まっていたり、ストレスが溜まっている場合、ホルモンのバランスが崩れている場合などが挙げられます。 自分のニキビの原因が何なのかを知ることもとても大切です。 対処法その1 原因が分かったら、その原因を排除し
Tumblr API Tumblr APIへようこそ!わたしたちにとって、優秀なデザイナーやエンジニアがTumblrを使って創作表現のまったく新しい形をつくってくれることより楽しいものはありません。わたしたちはあなたがたのどんなプロジェクトに対しても十分に機能的で柔軟なAPIとなるように途方もない注意を払ってきました。APIの使い方についてやどうするのがよりよいのか、またAPIを使って作っている驚くべきものを話すときはわたしたちのディスカッショングループに参加してください。どうぞ責任をもってAPIをお使いください。また、フィードバックをください。楽しんでね! もし古いAPIのドキュメントを見たいなら、ここで探すことができます。 必要なもの OAuthキーを入手するには: アプリケーションを登録してください あなた用のAPIキーを入手する必要があります。たとえ、署名付きOAuthリクエストを
Google AJAX Feed APIでRSS複数表示 - bass-inuのひとりごとメモの追記。 Google AJAX Feed APIでRSSを表示させていたけど、ブログを更新しても反映されていない… どうやらGoogle側でのキャッシュが関係しているらしい。 こちらに解決法が書いてありました。URLのあとにクエリを追加して強制的にキャッシュをリフレッシュする、と。 404 Not Found ただ上記サイトの方法だと、 ミリ秒単位でクエリが変わる=読み込むたびにキャッシュをリフレッシュする。 となる。 できれば1時間ごとにキャッシュをリフレッシュできたらいいなぁ。 と思ってやってみた。 1時間ごとに変わるクエリ用の数字を作る。 var mynow = new Date(); var q = mynow.getMonth(); //月を取得 var q2 = mynow.getD
概要 Web上でRSSというXML形式の「更新履歴情報」が広く使われています。 しかしjavascriptは他ドメインのリソースにアクセスする事を原則的に禁じているため,他サイトのRSSを取得してホームページ上に動的に表示するのは簡単ではありません。大抵の場合は取得用のCGIを別に用意したりします。 しかしGoogleの提供しているAPIを利用すれば,javascriptを書くだけで他サイトのRSSフィードを取得する事が出来ます。(要はそれ用のサーバをgoogleが貸してくれる感じ) APIに関する詳しい話は下のURLにて デベロッパーガイド - Google AJAX Feed API http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/ しかしこのAPIを利用すると,更新が反映されるのがとても遅い。 下手をすると数日前
前のFlickr同様、twicli用サムネイル表示プラグイン「thumbnail.js」にYouTube・ニコニコ動画のサムネイル表示機能を追加しました。 やり方は以下の通り。 YouTubeの場合 本来はAPIを使って http://gdata.youtube.com/feeds/api/videos/<動画ID>からサムネイルのURL()をとってくるのが良さそうです。 が、今のところ http://i.ytimg.com/vi/<動画のID>/default.jpgに固定のようですので、これをいきなり表示しています。他に、 http://i.ytimg.com/vi/<動画のID>/0.jpg http://i.ytimg.com/vi/<動画のID>/1.jpg http://i.ytimg.com/vi/<動画のID>/2.jpg http://i.ytimg.com/vi/<動画
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く