iOSDC 2017 2017/09/15@早稲田大学理工学部西早稲田キャンパス 63号館 Yohei Suginami ( @susieyy )
![Swaggerで始めるAPI定義管理とコードジェネレート](https://cdn-ak-scissors.b.st-hatena.com/image/square/e81c7b725c30ec28168adbd56e25e228582fef58/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F423163a534c04bed8abb06ea36acb61e%2Fslide_0.jpg%3F8564746)
CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ
iOSDC Japan 2017 カンファレンスレポート 前夜祭トーク:SiriKit and Me、Swaggerで始めるAPI定義管理とコードジェネレート iOSDC Japan 2017とは? iOSDC Japan 2017はエンジニアが主役の、iOSと周辺技術を題材としたカンファレンスです。昨年初開催のiOSDC Japan 2016に続き、今年が2回目の開催となりました。 今年はiOSDC Japan 2017 実行委員会とWASEDA-EDGE人事育成プログラム実行委員会の主催のもと、早稲田大学 理工学部西早稲田キャンパス 63号館で、9月15日〜17日の2.5日間(15日は夕方から開催の前夜祭)にわたり開催されました。 昨年と比較すると、開催日数は前夜祭を含め1.5日から2.5日、トーク応募数は168から282、スピーカー数は42人から91人、参加者は478人から742人と
こんにちは。バックエンドエンジニアのじょーです。 みなさんは、開発初期の段階でWeb API(以下API)の実装が追いつかずクライアント側が開発できないという経験をしたことはありますか? クライアント側はAPIがないと開発が滞ってしまうことがありますが、かといってAPIの開発も始まったばかりではすぐに必要なAPIを提供することができません。その問題を解決し、両者でスムーズに開発をすすめるために有効な方法の1つに、APIモックの作成があります。 弊社では、開発初期の段階でWeb APIのモックを作成し、スムーズに開発できるようにしています。 以前は、Apiaryをモック作成ツールとして利用していましたが、記法やエディターに使いづらい点があり最近Swaggerに移行しました。 本記事では、Swaggerを使ったAPIモックの作成方法と手順、また気をつけるべき点などを紹介します。 目次 Swag
みなさんは、開発初期の段階でWeb API(以下API)の実装が追いつかずクライアント側が開発できないという経験をしたことはありますか? クライアント側はAPIがないと開発が滞ってしまうことがありますが、かといってAPIの開発も始まったばかりではすぐに必要なAPIを提供することができません。その問題を解決し、両者でスムーズに開発をすすめるために有効な方法の1つに、APIモックの作成があります。 弊社では、開発初期の段階でSwaggerとその周辺ツールを使ってWeb APIのモックを作成し、スムーズに開発できるようにしています。 Swaggerを使ったAPIモックの作成方法と手順、また気をつけるべき点などを紹介します。 目次 Swaggerとは? Swagger記法の一例 Swaggerのエディター選択 SwaggerAPIモックの動かし方 結論 まとめ Swaggerとは? Swagger
Swaggerとは RESTful APIの記述標準化を目指して「Open API Initiative」 が作成した記述仕様のこと。 ドキュメント周辺が更新されないまま実装とずれていったりするのをしばしば見るので最近ちょくちょく触っている。 Swaggerで主に使用するツール 1.Swagger Editor ・Swaggerの仕様にしたがってYAML(JSON)ファイルを編集するツール 2.Swagger UI ・YAML(JSON)ファイルのビュワー 3.Swagger Core ・YAML(JSON)からソースコードを作成するツール 4.Swagger Codegen ・ソースコードからYAML(JSON)ファイルを作成するツール 今回はSwagger Editorで作成したYAML(JSON)ファイルをSwagger UIで見るところまでやる。 Swaggerのフォーマット 実際
OpenAPI Specification(旧Swagger)の定義ファイルはドキュメントを生成するのによく使われます。しかし、それだけではなく他にも様々な使い道があります。例えばテストやバリデーションです。 さらにAutoRestを使えば各種プログラミング言語向けにSDKを生成してくれます。これは見逃せない機能でしょう。 AutoRestの使い方 実行例です。C#のコードを生成しました。 さらに指定を追加するだけでRubyのコードも生成できます。 AutoRestが対応するのはC#、Go、Java、node、TypeScript、Python、RubyそしてPHPとなっています。これだけのプログラミング言語に対応していればまずは問題ないでしょう(Swiftも欲しいですが)。SwaggerCodegenという類似プロジェクトもありますが、AutoRestはOpenAPI Specifica
A while back I wrote an OSS Spotlight post about the Swagger project. In short, Swagger is “the world’s most popular API tooling”. It’s a powerful open source framework backed by a very large ecosystem of tools that help you design, build, document, and consume your RESTful APIs. The Swagger v3.0 Specification was contributed to the OpenAPI Initiative, and thus Swagger has been merged with OpenAPI
この記事では、Rails で書いた JSON API サーバそれ自体の API エンドポイント仕様ドキュメントを OpenAPI 形式の JSON データとして生成し、そのデータを API 自体から取得する方法を説明します。 つまり、次のようなエンドポイント { "swagger": "2.0", "info": { "version": "1.0.0", "title": "Sample App", "description": "This is a sample app.", "contact": { "name": "@kymmt90" }, "license": { "name": "MIT" } }, // ... "paths": { "/users": { "post": { "description": "Creates a user", "operationId": "c
はじめに VASILYでは、API開発を始める前に、Swaggerを用いてAPIドキュメントを作成しています。 APIドキュメントを作成した後、実際のAPIレスポンスを修正したがドキュメントの更新を忘れ、ドキュメントの定義と実際のレスポンスの間に差異が生じてしまうということがありました。 そこで、今回はcommitteeというgemを用いて、Swaggerで定義したAPIドキュメントと実際のAPIレスポンスとの差異を検知する方法をご紹介します。 committeeとは committeeは、実際のAPIリクエストやレスポンスがスキーマ定義にそっているかをチェックすることができるgemです。 Rackのミドルウェアとして動作します。 バージョン2.0からはJSON Schemaだけでなく、OpenAPI2.0(Swagger)もサポートされるようになったため今回はこちらのgemを使用します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く