Weitere ähnliche Inhalte Ähnlich wie [出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成 (20) [出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成13. アプリケーション全体の説明
/**
*
@SWGSwagger(
*
schemes={"h-p"},
*
host="localhost",
*
basePath="/",
*
@SWGInfo(
*
version="1.0.0",
*
>tle="出張!雲勉 in
Tokyo登壇デモAPI",
*
descrip>on="あんなことやこんなことをするAPI"
*
)
*
)
*/
• @SWGInfo
14. モデルの定義
/**
*
@SWGDefini2on(
*
defini>on="user",
*
@SWGProperty(property="user_id",
type="integer",
descrip>on="ユーザID"),
*
@SWGProperty(property="name",
type="string",
descrip>on="ユーザ名"),
*
@SWGProperty(property="job",
type="string",
descrip>on="仕事")
*
)
*/
• @SWGDefini2on
15. モデルの定義(こう書いても良良いかも
/**
*
@SWGDefini>on(defini>on="user")
*/
class
User
extends
Model
{
/**
*
@SWGProperty(property="user_id”,
type="integer",
descrip>on="ユーザID")
*/
public
$user_id;
/**
*
@SWGProperty(property="name",
type="string",
descrip>on="ユーザ名")
*/
public
$name;
/**
*
@SWGProperty(property="job”,
type="string",
descrip>on="仕事")
*/
public
$job;
• @SWGDefini2on
同じ!
16. APIの定義
/**
*
@SWGGet(
*
path=“/user”,
*
summary=“ユーザ情報取得”,
*
descrip>on=“コンストラクタで設定されたユーザ情報の取得",
*
produces={"applica>on/json","applica>on/xml"},
*
@SWGResponse(
*
response=200,
*
descrip>on="successful
opera>on",
*
@SWGSchema(ref="#/defini>ons/user")
*
)
*
)
*/
• @SWGGet,
@SWGPost,
@SWGPut,
.....
19. Swaggervel
• PHPフレームワーク Laravel 向けに作られたパッケージ
• Swagger-‐‑‒php と Swagger-‐‑‒ui を内包
• composer require jlapp/swaggervel:master-‐‑‒dev
h1ps://laravel-‐news.com/2015/01/swagger-‐laravel/
20. Swaggervel
• Installation
• Add Jlapp\Swaggervel\SwaggervelServiceProvider to
your providers array in app/config/app.php
• Run php artisan vendor:publish to push swagger-‐‑‒ui to
your public folder
• ↑コマンドを叩くと
public/下に
ファイルができる
21. Swaggervel
• JSON を吐き出すコマンド
$ vendor/bin/swagger app/Http/Controllers -‐‑‒o public/docs
• public/docs/swagger.json
{
"swagger":
"2.0",
"info":
{
"Ntle":
"u51fau5f35uff01u96f2ufa33
in
Tokyou767bu58c7u30c7u30e2API",
"descripNon":
"u3042u3093u306au3053u3068u3084u3053u3093u306a...",
"version":
"1.0.0"
},
"host":
"localhost",
"basePath":
"/",
"schemes":
[
"h1p"
],
"paths":
{
"/user":
{
"get":
{
...
29. 本⽇日のまとめ(軽くね、かる〜~く
• Swagger って、ええやん!
• ソースコードの品質向上
• PMが楽できる ←最⾼高!
• インタラクティブAPIドキュメント ←たのしい!
• Swaggerで楽したいエンジニア、来たれ!
• サーバーサイド・フロントエンドエンジニア、マネージャー様!
cloudpackでは、
開発エンジニア/インフラエンジニア/デザイナー 鋭意募集中!
http://cloudpack.jp/recruit