Rabbit Slide Show

omotesandorb #49

Description

Text

Page: 1

OpenAPI 3 によるスキー
マラスト開発
2019-08-01
表参道.rb #49
うなすけ

Page: 2

自己紹介
名前 : うなすけ
仕事 : 株式会社バンク (エンジニア)
インフラ寄りサーバーサイドエンジニア
Ruby, Rails, Kubernetes…
GitHub @unasuke
Mastodon @unasuke@mstdn.unasuke.com
Twitter @yu_suke1994

Page: 3

OpenAPI 3
https://www.openapis.org/
YAMLやJSONで REST APIの仕様を記述するやつ
Swaggerとか聞いたことある人多いんでは

Page: 4

OpenAPI 3
スキーマファースト開発で使われる
serverとclientがAPIのschemaを定義してから開発
手戻りが少ない
documentができる
スキーマファースト開発のススメ - onk.ninja

Page: 5

OpenAPI 3 例
openapi: 3.0.0
info:
title: Sample API
description: Optional multiline or single-line description
version: 0.1.9
servers:
- url: http://api.example.com/v1
description: Optional server description, e.g. Main (production) server
- url: http://staging-api.example.com
description: Optional server description, e.g. Internal staging server for testing
paths:
/users:
get:
summary: Returns a list of users.
description: Optional extended description in CommonMark or HTML.
responses:
'200':
# status code
description: A JSON array of user names
https://swagger.io/docs/specification/basic-
structure/

Page: 6

現実世界には様々なことがある
途中からOpenAPIを導入したい
大量の定義を書かねばならぬ
タスクがパンク
終了

Page: 7

config/routes.rb があるじゃん
ここからなんとか paths のやつだけ自動生成できな
いか?

Page: 8

できた
https://github.com/unasuke/
openapi3_definition_generator-rails

Page: 9

つらみ
ここからコードを見ながら話します

Page: 10

つらみ
何もかもがPrivate API

Page: 11

まとめ
今月中にブログ書きます

Other slides

CNDF2023 CNDF2023
2023-08-03
ruby30th-lt ruby30th-lt
2023-02-25