Swagger

RESTful API構築するためのフレームワーク

Swagger?

APIで作業したことがあるならば、あなたはSwaggerについて聞いたことがあります。Swaggerは、OpenAPI仕様(OAS)を使用してAPIを開発するための最も広く使用されているツールエコシステムです。Swaggerは、オープンソースとプロの両方のツールで構成されており、ほぼすべてのニーズとユースケースに対応しています。

簡単な歴史の教訓

闊歩を 使用 仕様との大きな生態系から成るように  ツール 仕様を実装します。これらのツールには、フロントエンドのユーザーインターフェイス、低レベルのコードライブラリ、商用のAPI管理ソリューションなどが含まれます。2015年に SmartBear Software はSwagger仕様をLinux Foundationに寄贈し、仕様をOpenAPI仕様に改めました。また、SmartBearは、オープンで透明な方法でOASの開発を統治する機関であるOpenAPIイニシアティブ(OAI)の創設メンバーにもなりました。

参考;swagger getting started

Swaggerとは

RESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、またそれらを扱うための仕様などを提供するフレームワーク

Swaggerのメリット

  • AMLの記法で書ける(※JSONでも書ける)
  • YAMLで記述したAPI定義を元に、 多数の言語によるAPIモックアプリケーションを簡単に作成できる
  • APIドキュメントの自動生成ができる
  • 各エントリーポイントに対してパラメーターも指定できる
  • AWSのAPI Gatewayに反映できる

Swaggerのデメリット

  • 周辺ツールが豊富すぎてベストな開発方法を見つけるのに時間がかかる
  • REST APIの定義のために作られているため、モックで実現したい記法がドキュメントになく迷うことがある

Swaggerのツール

  • Swagger SpecREST APIに対してSwaggerの仕様に準じたドキュメント
  • Swagger CoreAPI実装コードからSwagger Specで記載された設計を自動生成
  • Swagger CodegenSwagger Specで記載された設計からAPIのスタブを自動生成
  • Swagger UISwagger Specで記載された設計からドキュメントを自動生成
  • Swagger EditorSwagger Specの設計書を記載するためのエディタ

Swagger Setting

環境OS:CentOS Linux release 7.5.1804 (Core)

# yum update
$ sudo yum update

# nodejs install
$ sudo yum install -y wget nodejs gcc-c++ make unzip

# yumでInstall出来ない場合、nodejs install
$ curl -sL https://rpm.nodesource.com/setup_8.x | bash -
$ sudo yum install -y wget nodejs gcc-c++ make unzip

# httpサーバーセット
$ sudo npm install -g http-server
# swagger editor download
$ wget https://github.com/swagger-api/swagger-editor/releases/download/v2.10.4/swagger-editor.zip
$ unzip ./swagger-editor.zip
# swagger editor 実行する
$ http-server swagger-editor
Starting up http-server, serving swagger-editor
Available on:
  http://127.0.0.1:8080
  http://10.0.2.15:8080
  http://192.168.33.10:8080
Hit CTRL-C to stop the server

Swagger Editor

swagger editor

Generate Client

image

Generate Server

image

Comments

Add your comment

user-symbol

Stay in touch

Get Practical Tips For Business and Developers.

Learn about PieceX Community Needs for Source Code Projects.

Be the First to Know PieceX Newest Free Community Code Projects.