RESTful WebAPI の実装は、Representational State Transfer (REST) アーキテクチャの原則を使用して、クライアントとサービス間のステートレスで疎結合のインターフェイスを実現する WebAPI です。 RESTful である WebAPI は、リソースに対して操作を実行し、ハイパーメディア リンクと HTTP 操作状態コードを含むリソースの表現を返す標準 HTTP プロトコルをサポートしています。 RESTful WebAPI は、次の原則に従う必要があります。 プラットフォームに依存していません。つまり、クライアントは内部実装に関係なく WebAPI を呼び出すことができます。 プラットフォームの独立性を実現するために、WebAPI は標準プロトコルとして HTTP を使用し、明確なドキュメントを提供し、JSON や XML など

はじめに こんにちは!yamakazu (@yamarkz) です。 近所の行きつけスーパーがサミットストアになったのですが、品揃えがとても良く、お店の雰囲気も明るくて、仕事終わりの買い物が最近の楽しみになってます 🥳 🛒🥗 さて今回は、開発方面のナレッジとして外部API連携の話を紹介します。非常にニッチな領域の話題ですが、わかる人にはわかるような内容です。 興味のある方はぜひ最後まで読んでみてください。 動機 新しく外部API連携の開発に着手するメンバーの助けになりたい、より良い外部API連携を実現したいという思いから、これまで開発を経験してきた中で理解した勘所を紹介します。 元々は社内向けに書き溜めておいたナレッジメモの内容ですが、特別社内に留めておく必要性もないので、せっかくならブログにしてしまおうと思い、ここで筆を取りました。 これは社内の同僚に向けた内容でありながら、似た境

ソフトウェアを常に最新に私たちはソフトウェアを最新に保つことがいかに難しいかを知っています。 ケンオールはデータを最新に保ち整理するプロセスを自動化し、変更を自動的に取り込むことができます。 さまざまなデータに対するAPIを使用して、既存のシステムを当社のシステムにリンクします。

※この投稿は米国時間 2020 年 4 月 11 日に、Google Cloudblog に投稿されたものの抄訳です。 ほとんどのソフトウェア デベロッパーがご存じだと思いますが、API 設計には RPC と REST の 2 つの主要なモデルがあります。モデルに関係なく、ほとんどのモダンAPI は、なんらかの方法で同じ HTTP プロトコルにマッピングすることによって実装されます。また、RPCAPI 設計では、RPC モデルの範囲から外れずに HTTP から 1 つまたは 2 つのアイデアを採用することが一般的になっています。これにより、API 設計者に提示されるオプションの範囲が広がりました。この投稿ではこれらのオプションについて説明し、どれを選ぶか決める際に役立つガイダンスを提供します。gRPC は RPCAPI を実装するためのテクノロジーで、HTTP 2.0 をその基盤

今日では HTTP(s) でAPI が公開されることは当たり前の時代ですが、エラーをアプリケーションにどう伝えるかは、個々のAPI の設計に依存していました。特に、HTTP ステータスコードは有限であり、元々持っている意味があるので、自由に使うことはできません。API はそのドメインごとにもっと複雑で細かなエラー情報があるはずで、それらはレスポンスボディに載せてアプリケーションに伝えることになりますが、その書式に規定は今までありませんでした。 HTTPAPI にて、アプリケーションにエラー情報を伝達するための(レスポンスボディに載せられる)標準的な形式が、RFC7807 Problem Details for HTTPAPIs で定められています。適用例としては、以下のようになります。 HTTP/1.1 403 Forbidden Content-Type: application
【APIBlueprintの使い方】WebAPIの仕様書を書く・読む・実行する できればドキュメント書きたくないなー。はやくAPI実装したい!俺の頭の中に全部仕様入ってるから!俺が仕様だ! ... その仕様、APIBlueprintでドキュメントにおこしませんか? はじめに デバイスが多様化し、その違いを吸収する統一的なインターフェースが求められる昨今、WebAPIはその回答のひとつといえます。弊社でも、モバイルアプリとWebAPIを組み合わせてサービスを構築することがあります。 WebAPIが登場する開発では、モバイルアプリ(APIクライアント)メンバーと、APIサーバメンバーのコミュニケーションが不可欠です。開発を円滑に進めるために、APIの仕様書 が必要になります。お互いがAPIの仕様を想像して勝手に開発を進めたのでは、いざ結合したときに悲惨な結果になることが目に見えてい

HAL - Hypertext Application Language A lean hypermedia type Author: Mike Kelly <[email protected]>Created: 2011-06-13 Updated: 2013-09-18 (Updated) Summary HAL is asimple format that gives a consistent and easy way to hyperlink between resources in yourAPI. Adopting HAL will make yourAPI explorable, andits documentation easily discoverable from within theAPIitself. In short,it will make yo
Swagger placesAPI specifications such asOpenAPI, AsyncAPI, and JSON Schema at the core ofits architecture, which are crucial forguiding teams through the entire lifecycle ofAPI design and documentation. This strategic focus ensures that our suite, including open source tools andAPI Hub, delivers unparalleled efficiency and a seamless user experience. Explore theAPI Specifications Discover t
さいきんRESTAPIのドキュメントを書いていて、wiki使うのだるいし他に良い方法ないかな〜と調べてた時に見つけたツール群をまとめてみます。 追記: こちらも便利そうなので参考にどうぞ。 RESTAPIドキュメント作成ツールはapiary.ioが決定版かもしれない - Qiita swagger Swagger: Asimple, open standard for describing RESTAPIs with JSON | Reverb for Developers デモ: SwaggerUI ソースコード中にAPIの概要を書いておくと、それを元にドキュメントを自動生成してくれる。wikiやmarkdownで書くのと決定的な違いは、↓のようにドキュメント上のformからAPIコールを試すことができる点。 様々な言語のWAFに対応したライブラリも開発されてる。 Home ·

SRE(Site Reliability Engineering)チームの@cubicdaiyaです。今年のはじめから開発しているWidebulletというシンプルなAPIGatewayを紹介します。 WidebulletはJSON-RPCをベースにしたシンプルなAPIGatewayです。Goで書かれています。github.com JSON-RPCはJSONによるRPC(Remote Procedure Call)プロトコルで、リクエストやレスポンスのボディに含まれるJSONを利用してクライアント/サーバ間の通信を行います。 # リクエストボディ { "jsonrpc": "2.0", "method": "echo", "params": {"msg": "ok"}, "id": "1"} # レスポンスボディ {"jsonrpc": "2.0", "result": "ok",

Wantedly Engineerblogに本速習会資料を閲覧向けに再編しました! ぜひご覧いただけると幸いです!本記事は、綺麗なAPI速習会@Wantedlyの資料として作成されたものです。 同時にこちらのコードも参照してください。 マイクロサービス 流行りのマイクロサービス、何がいいのか 各々自由な言語やArchitectureでサービスを立てられる 障害の影響が部分的 変化に強い 個別デプロイetc... マイクロサービス化をすすめるにあたり、やりとりは全てAPIで行う 内部のAPIであっても外部に公開できるようなクオリティのAPIを作成し、それを元にサービスを作っていくことが重要APIGatewayとBFFAPIGateway Pattern 公式サイトより 「見た目はモノリシック、実装はマイクロサービス」 一箇所見に行けば全てのAPIを見つけられる 細かい権限管理も可

白ヤギの開発者の森本です。 白ヤギではGo 言語でニュース記事のキュレーションをする カメリオAPI というサービスを開発しています。約1年2ヶ月前、Go を使って開発し始めたときに当時調べた内容を整理して以下の記事を書きました。Go言語でAPI サーバーを開発する 1年以上に渡り開発を継続してきて変わったこと、変わってないことなどをざっくばらんにまとめてみます。たまたま過去の記事のはてブコメントを見返していて 以下のコメント を見つけました。 最近golang 導入事例増えて来たけど、導入後一年くらいのメンテナンスフェーズな事例について聞いてみたい。継続的デリバリーみたいなの。まだ早いのかな? まだまだメンテナンスフェーズにはなっていなくて現在も活発に開発中ですが、継続的デリバリーについて白ヤギでは特別なことをしてなく、ansible を使ってデプロイしているのみです。Go 1

こんにちは!白ヤギの開発者、森本です。 白ヤギではいまAPI サーバーをGo 言語で開発しています。 皆さんもGo の話題をよく見聞きするようになっていると思います。今回は白ヤギの業務でどんな風にGo を使って開発しているかの一端を紹介します。 余談ですが、先日、大学の先生とお話ししたときにこんな話を伺いました。その先生は学生にプログラミングを教えているそうですが、何割かの学生は及第点に届かないそうです。しかし、そういった学生がプログラミングの素養がないかというとそういう訳ではなく、プログラミングを学ぶ上でその学生にとって何が理解を促すのかが違うだけなのだと仰っていました。教える側として全ての学生が習得できるプログラミング教育というのを見つけられていないのが悔しいといった話をされていました。 何かを学ぶというのを一般論では語るのは難しいということかもしれません。そのため、私はこうい

公開日: 2015/09/01 | 更新日: 2017/07/05Googleが提供する、GoogleMapsJavaScriptAPIを利用して、ウェブページに地図を表示させる方法を説明します。通常の埋め込み型の地図とは違い、コントローラの調整、マーカーや吹き出しを配置したりなど、機能が満載です。GoogleMapsJavaScriptAPI V3 ReferenceGoogleMapsJavaScriptAPI V3 ReferenceGoogleMapsJavaScriptAPIの公式リファレンスです。全てのメソッド、オプションなどについての解説が掲載されています。準備 (APIキーの取得)GoogleMapsJavaScriptAPIを利用するには、APIの有効化と、認証情報(APIキー)が必要です。この章では取得方法を説明します。 アカウントの用

Discover the next evolution of MuleSoft, announced at Connect:AI. Catch up on the highlights. Sincejoining MuleSoft in 2013, ProgrammableWeb has sought to bring awareness to the impactAPIs can have on modern businesses. Nearly a decade laterit has undoubtedly played a role in helping the wider market understand the power ofAPIs. As part of theSalesforce family, MuleSoft is expanding our focus

この記事はPepabo Advent Calendar 2014の11日目の記事です。 前日は、tnmtさんのVagrantのshell provisionerでApacheのビルド済tarボールをOSバージョン毎に作る術でした。 はじめに 今回は、WebAPIを作るときに考えることをまとめました。本当は、社内向けに資料を作っていて、社内の勉強会とかで話せればいいか〜って考えていたんですが、アドベントカレンダーのネタが本当になくて困っていたのでこれを使います。 対象者APIを作る時、と書いてますが、クライアント側の人にとっても知っておく必要があることなので、サーバ側の人・クライアント側の人両方が対象者です。APIを作るときに考えること 「APIを作るとき」と言っても、色んな状況があります。 まずはそれを絞ります。APIの種類 プライベートAPI アプリのAPIなど使う人が限定され

Yoしてますか。 どうやら、YoAPIとやらがある模様。遊んでみます。Yoされたら、ツイッターでやぁするやつを作ってみます。 #ちょっと何言ってんのか 今回は、YAHYAHWORKSにYoすると、@yahyahworks がナンカ言うやつを作ります。heroku アプリケーションを作成herokucreate ppworks-yo 悲しい事故が起きないようにremoteの名前を変えておく。 git remote renameheroku ppworks-yo これは、複数のherokuアプリケーションを管理していることを考慮して 間違えて別のローカルリポジトリから意図せずherokuにpushしてしまう ことを防ぐためです。git pushheroku master でリリースできるのは便利なのですが、herokuのどのアプリケーションにdeployしようとしているかのコンテキ

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く