ねこじゃすり
猫を魅了する魔法の装備品!
[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット
防水暴風で耐久性抜群なので旅行で大活躍です!
ペヤング ソースやきそば 120g×18個
とりあえず保存食として買っておけば間違いなし!
レッドブル エナジードリンク 250ml×24本
翼を授けよう!
Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK
メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!
MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド
Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!
サンディスク microSD 128GB
スマホからSwitchまで使える大容量MicroSDカード!
スポンサーリンク
目次
Swagger
What’s??
皆さんはSwaggerをご存知でしょうか?
Swaggerとは、RESTful APIのAPIドキュメントを生成するためのオープンソースのフレームワークのことです。
「Open API Initiative」という団体がRESTful APIのインターフェイスの記述をするための標準フォーマットを推進しており、その団体が考え出した規格のひとつがSwaggerです。
エクセルなどとは違い、テキストベースのファイルなのでGit管理がしやすいのもメリットの一つです。
Swaggerには、幾つかのモジュールがあります。
Swagger Spec
Swagger SpecはSwaggerの書式で記述した仕様書の事で、JSONもしくはYAML形式で記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
swagger: '2.0' info: version: "1.0.0" title: "Sample Title" host: "localhost" schemes: - https basePath: "/" produces: - "application/json" paths: "/users": get: summary: Listing User description: | Listing User API parameters: - name: id in: path description: User Id required: true type: integer responses: 200: description: Successful responses schema: title: User List type: object properties: users: title: User List type: array items: title: Users type: object properties: id: type: integer description: User Id example: 1001 name: type: string description: User Name example: Yamada Taro isPaidUser: description: Paid User type: boolean example: false post: summary: Create User description: | Create New User API parameters: - name: id in: path description: User Id required: true type: integer - name: request in: body required: true schema: title: User type: object properties: name: type: string description: User Name example: Yamada Taro isPaidUser: description: Paid User type: boolean example: false responses: 201: description: Create responses schema: title: Users type: object properties: id: type: integer description: User Id example: 1001 409: description: Conflict responses "/users/{id}": get: summary: Find User description: | Find User By Id API parameters: - name: id in: path description: User Id required: true type: integer responses: 200: description: Successful responses schema: title: Users type: object properties: id: type: integer description: User Id example: 1001 name: type: string description: User Name example: Yamada Taro isPaidUser: description: Paid User type: boolean example: false 404: description: Not Found responses put: summary: Modify User Content description: | Modify User Content API parameters: - name: id in: path description: User Id required: true type: integer - name: request in: body required: true schema: title: User type: object properties: name: type: string description: User Name example: Yamada Taro isPaidUser: description: Paid User type: boolean example: false responses: 200: description: Update responses 404: description: Not Found responses patch: summary: Modify User Attribute description: | Modify User Attribute API parameters: - name: id in: path description: User Id required: true type: integer - name: request in: body required: true schema: title: User type: object properties: name: type: string description: User Name example: Yamada Taro isPaidUser: description: Paid User type: boolean example: false responses: 200: description: Update responses 404: description: Not Found responses delete: summary: Delete User description: | Delete User API parameters: - name: id in: path description: User Id required: true type: integer responses: 204: description: Update responses 403: description: Forbidden responses 404: description: Not Found responses |
Swagger Editer
Swagger Editer>はSwaggerSpecファイルの生成や編集を行うためのツールです。
ブラウザ上で動作可能で、左側にYAMLまたはJSONで記述します。
そして、右側には左の記述をもとに生成されたドキュメントがリアルタイムに更新されるので、構文チェックを行いながら定義を行うことが出来ます。
Swagger UI
Swagger UIはSwaggerSpecを元に、HTML形式のドキュメントを生成するためのツールです。
SwaggerEditorから各言語で自動生成することが可能です。
SwaggerCodegen
Swagger Codegenとは、SwaggerSpecから, クライアントライブラリやスタブサーバー、ドキュメントを生成するツールです。
CLIから生成をすることが出来ますが、先ほど紹介したSwagger Editorからも生成することが可能です。
SwaggerEditorから各言語で自動生成することが可能です。
CLIから生成をすることが出来ますが、先ほど紹介したSwagger Editorからも生成することが可能です。
終わりに
以上のように、SwaggerはAPIドキュメントに関して定義から閲覧までを完全にサポートしており、API開発においてとても便利です。
まだ、エクセルやパワポなどで管理している場合は、効率が格段に変わりますので是非導入してみてはいかがでしょうか?