API開発の基本 - 銀行APIの開発事例に学ぶ『使いやすい』のデザインプロセス APIは多くのWebシステムにおいて、欠かすことのできない技術です。APIをどのように設計、デザインすれば、ユーザに利便性を提供できるのかを、GMOあおぞらネット銀行 CTOの矢上聡洋さんが解説します。API設計の基本、そして実際の銀行APIの設計から、“使いやすい”を生み出すためのデザインプロセスを学びます。
こんにちは、SmartHR でフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some
2020-08-21 OpenAPI や Protocol Buffers のおかげで開発がかなり捗っている話 こんにちは、インキュベーション本部エンジニアの加藤です。 主に CLINICS アプリの開発を担当しています。 はじめに CLINICS アプリの開発では OpenAPI や gRPC を利用しています。 OpenAPI と gRPC の間には何の関係もないのですが、どちらも API の仕様をスキーマ言語で記述するという点では共通しています。 今回はこの API スキーマが開発にもたらすメリットについて紹介していこうと思います。 API ドキュメントとしてのスキーマ定義 既存のコードに機能を追加する際や修正を加える際に気にすることの多い部分は API の仕様ではないかと思います。 「リクエストやレスポンスはどのようなデータなのか」「この値は必須なのか、任意なのか」「データの型は数
こんにちは、クラスメソッドの岡です。 7/30にPayPayが開発者向けツール、PayPay for Developersの提供を開始しました!これは嬉しい! これで自前のサイトやアプリにPayPayの決済を導入できるようになります。 アカウント作成 まずは開発アカウントを作成しましょう。 Sandboxであれば加盟店の情報は登録しなくても利用することができます。 アカウントを作成すると、ブラウザ上でSandboxのAPIを動作確認できるPayPay Labや、API接続時のエラーハンドリングが可能なPayPay Resolveが使えるようになります。 機能 PayPay APIを使った決済フローは以下の4パターンです。 Webペイメント カスタムのモバイルアプリ/WebサイトからPayPayの決済ページ or PayPayアプリにリダイレクトして決済する ネイティブペイメント カスタムの
「リードエンジニアから学ぶMedPeerのプロダクト開発」 https://medpeer.connpass.com/event/181835/
PayPay for Developers : https://developer.paypay.ne.jp/ ソフトバンクグループ株式会社とソフトバンク株式会社、ならびにヤフー株式会社の3社が共同出資するPayPay株式会社は、自社で運営するECサイトやアプリなどオンラインサービスの決済システムとして「PayPay」を簡単に導入できる開発者向けツール「PayPay for Developers」を2020年7月29日より提供開始します。 「PayPay for Developers」では、システム開発者向けに、自社で運営するECサイトやアプリ上で、「PayPay」とAPI(※1)連携させ、「PayPay」を利用したオンライン決済ができるシステムの実装方法を公開しています。また、API連携方法や実装方法の公開だけでなく、開発者が実際に「PayPay」を利用して決済を行い、API連携時の挙動
The Ultimate Guide to handling JWTs on frontend clients (GraphQL) The Ultimate Guide to handling JWTs on frontend clients (GraphQL) JWTs (JSON Web Token, pronounced 'jot') are becoming a popular way of handling auth. This post aims to demystify what a JWT is, discuss its pros/cons and cover best practices in implementing JWT on the client-side, keeping security in mind. Although, we’ve worked on t
今個人で作ってるアプリの 認証 + Graphql の部分を抜き出して GitHub に公開した。 mizchi/next-boilerplate-20200727 next.js + vercel + firebase は (パーツを良く選べば) 最高 next.js はルーティングを持つページを作るには最高で、サーバー、静的サイト、JAM スタック、AMP と必要に応じて選択できる。React ベースならこれ一択。 認証サーバーの実装は毎度疲れるし、Firebase Athunetication はこの点においては OAuth Secret を置くだけ + Custom Provider も作れるので、最高。 それと比べて firestore は、ちょっと前に firestore べったりでアプリを試作したことがあったのだが、型がないためにかなり扱いづらく、また読み書きの速度が遅くパフ
この記事では、シングルページアプリケーション開発での Web API 設計について書いていきます。 ここで言う「エンドポイント」とは、HTTP メソッドと URL の組み合わせです。また、本記事で扱うのは、いわゆる REST API と呼ばれるタイプの Web API です。最近は GraphQL が台頭してきていますが、まだ現場では REST タイプの API を扱うことがほとんどでしょう。 API 設計は大きく2つの側面があります。エンドポイント定義と、リクエストおよびレスポンスメッセージの JSON 定義です。本記事では、特にエンドポイント定義の設計について取りあげます。なぜなら、どちらかというと、エンドポイント定義のほうが、これから SPA 開発にチャレンジする方にとって、難しさがあるように感じるからです。 Web API とは 何を API にするのか まず、そもそも何を API
バックエンドエンジニアの taisa です。テックタッチでは API Gateway として、AWS の API Gateway ではなく、クラウドでもオンプレでも使えるオープンソースの Kong Gateway を利用しています。この記事では Kong Gateway とは何か、なぜ使うのか、どうやって使うのか、を簡単にまとめてみました。 Kong Gatewayとは なぜ Kong Gateway を使うのか Kong Gateway をインストールできる環境 Kong Gateway の特徴 Kong Gateway の概念と機能 Kong Gateway のドキュメント Mac + DB Less(YML)環境で動かしてみる 構成 下準備 Kong をセットアップする kong.yml にサービスとルーティング情報を記述する Rate-Limit プラグインを利用する プロキシキャ
アプリケーションをユーザに公開する場合, それがGUIであってもCUIであってもインタフェースが必要になります. Webアプリケーションを公開する場合にはWeb APIを利用するのが一般的であり, AWSもAPIをフルマネージドで活用するためのAPI Gatewayを提供しています. 非常に簡単に活用できるのですが細かい機能などを今一度洗い直す機会があればと思っており, 社内勉強会の機会があったのでAPI Gatewayについて話しました. 今回の記事では社内向け勉強会で登壇した内容をブログ向けに再編しています. 資料はSpeakerDeckで公開していますが, 内容についてより細かくこのブログで説明しますので, 是非ご閲覧ください. What is API まず最初にAPIが何かを確認します. 大雑把に伝えるとアプリケーションが呼び出せば予期した結果を返されるような仕組みです. 名前にあ
Twitter APIの場合は、アプリケーションに対して「コンシューマーキー(Consumer key)」と呼ばれるものと「シークレット(Secret)」と呼ばれるものが付与されます。 この2つを使って、ベアラートークン(Bearer token)を作り、認証にかけ、成功すればようやく、データにアクセスするためのアクセストークン(Access token)が取得できます。 ベアラートークンを作成する ベアラートークンは、コンシューマーキーとシークレットの2つを所定の手順で別の文字列に変換したものです。 まず、2つの文字列をRFC1738の仕様に則って変換します。 PHPでは、rawurlencode()関数を通すことで、この処理を行います。 $consumer_key = rawurlencode('コンシューマーキー'); $secret = rawurlencode('シークレット')
はじめに このページは、プロトアウトスタジオのAPIにつなげる授業に関連して、よりAPIの多様さ、広がりを深掘りします。 まだ、JavaScriptに慣れていなくても「なるべくシンプルにAPIを体験する」ことを目指して、 public-apis というフリーで使えるAPIを集めてリストにしているサイトから、手順が少なくAPIにつなげられるシンプルに取得できるものを中心に、直接取得できるURL・Node.js axios await/async ソースコードを一つ一つトライしています。 慣れてきたら、自分で public-apis のサイトを直接読んでみて、巡ってみましょう! APIピックアップ数 最終更新日 2020/6/8 104 個のAPIをピックアップ中! 参考資料 public-apis の豊富なAPIリストをベースにAPIつなげていきます。 ピックアップルール 手順が少なくAPI
※この投稿は米国時間 2020 年 4 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。 ほとんどのソフトウェア デベロッパーがご存じだと思いますが、API 設計には RPC と REST の 2 つの主要なモデルがあります。モデルに関係なく、ほとんどのモダン API は、なんらかの方法で同じ HTTP プロトコルにマッピングすることによって実装されます。また、RPC API 設計では、RPC モデルの範囲から外れずに HTTP から 1 つまたは 2 つのアイデアを採用することが一般的になっています。これにより、API 設計者に提示されるオプションの範囲が広がりました。この投稿ではこれらのオプションについて説明し、どれを選ぶか決める際に役立つガイダンスを提供します。 gRPC は RPC API を実装するためのテクノロジーで、HTTP 2.0 をその基盤
皆さんこんにちは、とらのあなラボのY.Fです。 オライリー書評シリーズは、今回で第5弾になります。 (前回の書評はこちら) toranoana-lab.hatenablog.com 今回の記事では、2019年11月のオライリー定期購読で届いた、『初めてのGraphQL』を読んだので感想を書きたいと思います。 読んだ理由 APIに限らずWebアプリケーションを作る上ではRESTの考え方はもはや基礎知識になっているかと思います。 ただ、個人的にはRESTについては以下のような認識を持っていました。 通常のCRUD処理から外れるとルーティングなどが悩ましい 複雑に絡み合ったデータを扱おうとした時にURLの階層が深くなりがち JSONを返すAPIに汎用性をもたせると巨大なJSONが返されたりするケースがある 対して、最近GraphQLを採用したとか、ReactやVueと組み合わせてやってみたという
環境 Windows10 Pro Visual Studio Code (VSCodeUserSetup-x64-1.40.2.exe)・・・高機能テキストエディタ .NET Core (dotnet-sdk-3.1.100-win-x64.exe)・・・API作るためのもの .NET Core ホスティング バンドル (dotnet-hosting-3.1.1-win.exe)・・・APIがIISで動くようにするもの ※v3.1.0は環境によっては500 Internal Server Errortが発生する。 前提 Visual Studio Code インストール済み .NET Core 3.1 SDK ダウンロード済み ASP.NET Core 3.1 Runtime (v3.1.1) - Windows Hosting Bundle ダウンロード取得済み ※v3.1.0は環境によ
株式会社ウェリコで、お客さんのスマートフォンでメニューの閲覧・注文・決済ができるスマートレストランを作ったときに、gqlgenとRelay Modernを使ってGraphQLを採用した話
サードパーティ製のツール本家からは上述のツールが提供されていますが、サードバーティ製の様々なツールが世の中には存在します。 エコシステムが成熟しているのもSwaggerを利用するメリットの1つですね。 https://openapi.tools/ 冒頭のとおり、このサードパーティ製のツールの中で実際に利用して良かったツールを3つご紹介したいと思います。 Stoplight Studiohttps://stoplight.io/studio/ 1つ目のツールは「Stoplight Studio」というAPI仕様を記載するためのGUIエディタとなります。 今までSwagger Editorを利用してYAMLを書いていたそこのみなさん、YAML筋力はもう必要ありません。 Design APIs 10x faster の謳い文句どおり、Stoplight Studioを使えばGUIで直感的に、高速
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く