Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KS
Uploaded by
Kohei Saito
PPTX, PDF
2,657 views
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
MicroProfile Open API を使うと REST API のドキュメンテーションで苦労しなくなる話。
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 52
2
/ 52
3
/ 52
4
/ 52
5
/ 52
6
/ 52
7
/ 52
8
/ 52
9
/ 52
10
/ 52
11
/ 52
12
/ 52
13
/ 52
14
/ 52
15
/ 52
16
/ 52
17
/ 52
18
/ 52
19
/ 52
20
/ 52
21
/ 52
22
/ 52
23
/ 52
24
/ 52
25
/ 52
26
/ 52
27
/ 52
28
/ 52
29
/ 52
30
/ 52
31
/ 52
32
/ 52
33
/ 52
34
/ 52
35
/ 52
36
/ 52
37
/ 52
38
/ 52
39
/ 52
40
/ 52
41
/ 52
42
/ 52
43
/ 52
44
/ 52
45
/ 52
46
/ 52
47
/ 52
48
/ 52
49
/ 52
50
/ 52
51
/ 52
52
/ 52
More Related Content
PDF
モダンフロントエンド開発者に求められるスキルとは
by
Takuya Tejima
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
PDF
AWS で Presto を徹底的に使いこなすワザ
by
Noritaka Sekiyama
PDF
リクルート式 自然言語処理技術の適応事例紹介
by
Recruit Technologies
PDF
Kubernetesによる機械学習基盤への挑戦
by
Preferred Networks
PDF
君はyarn.lockをコミットしているか?
by
Teppei Sato
PDF
全力解説!Transformer
by
Arithmer Inc.
モダンフロントエンド開発者に求められるスキルとは
by
Takuya Tejima
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
AWS で Presto を徹底的に使いこなすワザ
by
Noritaka Sekiyama
リクルート式 自然言語処理技術の適応事例紹介
by
Recruit Technologies
Kubernetesによる機械学習基盤への挑戦
by
Preferred Networks
君はyarn.lockをコミットしているか?
by
Teppei Sato
全力解説!Transformer
by
Arithmer Inc.
What's hot
PDF
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
PDF
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
PDF
実践 NestJS
by
Ayumi Goto
PDF
実践イカパケット解析
by
Yuki Mizuno
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PPTX
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
雑なMySQLパフォーマンスチューニング
by
yoku0825
PDF
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
by
Takahiko Ito
PDF
pytest × TDD テスト駆動開発のススメ
by
iRidge, Inc.
PDF
Mavenの真実とウソ
by
Yoshitaka Kawashima
PDF
SSE4.2の文字列処理命令の紹介
by
MITSUNARI Shigeo
PDF
チケット駆動開発の解説~タスク管理からプロセス改善へ
by
akipii Oga
PPTX
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
by
NTT DATA Technology & Innovation
PPTX
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
by
Unity Technologies Japan K.K.
PDF
pg_bigm(ピージー・バイグラム)を用いた全文検索のしくみ(後編)
by
Masahiko Sawada
PPT
メタプログラミングって何だろう
by
Kota Mizushima
PDF
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
PPTX
最高の統計ソフトウェアはどれか? "What’s the Best Statistical Software? A Comparison of R, Py...
by
ケンタ タナカ
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
入社1年目のプログラミング初心者がSpringを学ぶための手引き
by
土岐 孝平
PlaySQLAlchemy: SQLAlchemy入門
by
泰 増田
実践 NestJS
by
Ayumi Goto
実践イカパケット解析
by
Yuki Mizuno
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
雑なMySQLパフォーマンスチューニング
by
yoku0825
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
by
Takahiko Ito
pytest × TDD テスト駆動開発のススメ
by
iRidge, Inc.
Mavenの真実とウソ
by
Yoshitaka Kawashima
SSE4.2の文字列処理命令の紹介
by
MITSUNARI Shigeo
チケット駆動開発の解説~タスク管理からプロセス改善へ
by
akipii Oga
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
by
NTT DATA Technology & Innovation
【CEDEC2018】Scriptable Render Pipelineを使ってみよう
by
Unity Technologies Japan K.K.
pg_bigm(ピージー・バイグラム)を用いた全文検索のしくみ(後編)
by
Masahiko Sawada
メタプログラミングって何だろう
by
Kota Mizushima
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
最高の統計ソフトウェアはどれか? "What’s the Best Statistical Software? A Comparison of R, Py...
by
ケンタ タナカ
マイクロサービスバックエンドAPIのためのRESTとgRPC
by
disc99_
Similar to RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
PDF
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
PDF
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
by
Kazuya Sugimoto
PDF
Swaggerでのapi開発よもやま話
by
KEISUKE KONISHI
PDF
Rest ful api設計入門
by
Monstar Lab Inc.
PDF
Spring Fest 2018 Spring Bootで作るRESTful Web Service
by
WataruOhno
PDF
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
by
オラクルエンジニア通信
PDF
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
by
Kazuya Sugimoto
PPTX
Open APIで定義しよう! 実践編
by
iPride Co., Ltd.
PPTX
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
by
Tasuku Otani
PPTX
Swagger jjug ccc 2018 spring
by
kounan13
PDF
JSON Schema で Web API のスキマを埋めよう
by
VOYAGE GROUP
PPTX
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
by
QlikPresalesJapan
PPTX
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
by
Akira Shibata
PDF
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
by
Natsuki Yamanaka
PPTX
Create entity from swagger in drupal8
by
Kyotaro Kon
PPTX
Automatic api document generation 101
by
LINE Corporation
PDF
Phpでrest apiを作った話
by
Yamaguchi Kenya
PDF
Heroku HTTP API Design Guide
by
Ayumu Aizawa
こんなに使える!今どきのAPIドキュメンテーションツール
by
dcubeio
20200708サーバーレスでのAPI管理の考え方
by
Amazon Web Services Japan
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
by
Daichi Koike
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
by
Kazuya Sugimoto
Swaggerでのapi開発よもやま話
by
KEISUKE KONISHI
Rest ful api設計入門
by
Monstar Lab Inc.
Spring Fest 2018 Spring Bootで作るRESTful Web Service
by
WataruOhno
ochacafe#6 人にもマシンにもやさしいAPIのエコシステム
by
オラクルエンジニア通信
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
by
Kazuya Sugimoto
Open APIで定義しよう! 実践編
by
iPride Co., Ltd.
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
by
Tasuku Otani
Swagger jjug ccc 2018 spring
by
kounan13
JSON Schema で Web API のスキマを埋めよう
by
VOYAGE GROUP
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
by
QlikPresalesJapan
IOTS2021発表スライド:オントロジーを用いたOpenAPI Documentの制約推薦システム
by
Akira Shibata
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
by
Natsuki Yamanaka
Create entity from swagger in drupal8
by
Kyotaro Kon
Automatic api document generation 101
by
LINE Corporation
Phpでrest apiを作った話
by
Yamaguchi Kenya
Heroku HTTP API Design Guide
by
Ayumu Aizawa
RESTful API (JAX-RS) 書くだけで仕様書も自動で作られていく話 with MicroProfile Open API
1.
RESTful API (JAX-RS) 書くだけで仕様書も 自動で作られていく話 with
Eclipse MicroProfile Open API KOHEI SAITO
2.
Who am I •
Name: KOHEI SAITO • Twitter: @SightSeekerTw • Qiita: SightSeekerTw • GitHub: sightseeker
3.
みなさん!
4.
REST API を実装する 機会増えてますよね
5.
サーバサイドは
6.
もちろん! みんな大好き
7.
Java
8.
クライアントサイド の開発担当者 はよく困る! なんなら Ops はもっと困ってる!
9.
開発中 •仕様は コロコロ 変わる
10.
リリース後 • 改修されてるけど ドキュメントは 更新されてない!
11.
結果
12.
犯人 (担当者) 探し
13.
担当者 に 事情聴取
14.
事情聴取できれば まだマシ
15.
異動や退職 している 場合も
16.
最悪 リバースエンジニアリング そして、 デスマーチ突入
17.
仕様変更 要求が起 きると 実装は嫌でも変更す る 仕様書の変更はされ ない時がある スケジュール 優先だし!
18.
目指した いところ • 共有してる仕様書が 実装との食い違いを なくしたい
19.
どうしたいか ----------- ----------- ----------- REST API のコード コードから仕様書 をレンダリング 常時 生成
20.
何がいい のか •コードから仕様書を 生成するので 仕様書が実装と 食い違いが出ない
21.
実現方法
22.
いまどき、REST API の ドキュメンテーションは Open
API Spec (旧 Swagger Spec) がスタンダード!
23.
こうしたい! REST API の実装コード Open API
Spec フォーマットのYAML YAML 生成
25.
Eclipse MicroProfile Open
API Eclipse MicroProfile 1.3 で 追加された仕様 JAX-RS Resource から Open API Spec の仕様書 (YAMLまたはJSON) を ダイナミックに生成してくれる “/openapi” で OpenAPI Spec の ドキュメントの参照が可能になる
26.
つまりこうできる!
27.
JAX-RS Application with MP Open API Open
API Spec フォーマットのYAML レンダリング YAML 生成
28.
JAX-RS Resource Code @Path("/book") public
class BookResource { @GET @Path("{id}") @Produces(MediaType.APPLICATION_JSON) public Book find(@PathParam("id") int id) { return new Book(0, ”Java本格入門", 3218); } } 何の変哲もない タダの JAX-RS Resource コード
29.
アプリの Build & Run 01 /openapi
に HTTP アクセス 02
30.
実装した JAX-RS Resource の Open API
Spec が参照できる
31.
誰でも読めるように YAML をダイナミックに読んで ビジュアライズしてくれるように JAX-RS Application with MP Open
API Open API Spec フォーマットの YAMLを レンダリング YAML 生成 参照 ひと目にやさしい ビジュアライズ
32.
Swagger UI
33.
docker でワンパン起動 docker run
-p 80:8080 -e API_URL=http://localhost:8080/openapi swaggerapi/swagger-ui
35.
エンドポイント レスポンスのスキーマ
36.
どんなエンドポ イントがあるの かはわかった
37.
でも
38.
説明不足
39.
エンドポイントの説明は? パラメータの説明は? APIのタイトル・説明は? レスポンスの説明は?
40.
説明がな にもない
41.
全体の説明は Open API
Spec { "openapi": "3.0.1", "info": { "title": "Amazoness API (あまぞねす えーぴーあい)", "description": "書籍管理サービス", "version": "${project.version}" } } META-INF/openapi.json
42.
エンドポイントの説明は MP Open API
の アノテーション @GET @Path("{id}") @Produces(MediaType.APPLICATION_JSON) @Operation(summary = "本の情報を取得する") public Book find( @Parameter(name = "id", description = "ISBNコード", required = true) @PathParam("id") int id) { return new Book(0, "Java本格入門", 3218); }
44.
もっと充実するための MP Open API
アノテーション郡 1. @Callback 2. @Callbacks 3. @CallbackOperation 4. @Components 5. @Explode 6. @ParameterIn 7. @ParameterStyle 8. @SecuritySchemeIn 9. @SecuritySchemeType 10. @Extension 11. @Extensions 12. @ExternalDocumentation 13. @Header 14. @Contact 15. @Info 16. @License 17. @Link 18. @LinkParameter 19. @Content 20. @DiscriminatorMapping 21. @Encoding 22. @ExampleObject 23. @Schema 24. @OpenAPIDefinition 25. @Operation 26. @Parameter 27. @Parameters 28. @RequestBody 29. @APIResponse 30. @APIResponses 31. @OAuthFlow 32. @OAuthFlows 33. @OAuthScope 34. @SecurityRequirement 35. @SecurityRequirements 36. @SecurityRequirementsSet 37. @SecurityScheme 38. @SecuritySchemes 39. @Server 40. @Servers 41. @ServerVariable 42. @Tag 43. @Tags
45.
さらに、 Swagger UI
は! APIクライアント としての機能も 兼ね備えている!
46.
API コール レスポンスボデー
47.
すごいぜ! MicroProfile Open API と Swagger
UI
49.
Welcome to Managed
Documentation with MicroProfile Open API
50.
試してみたい方は “MicroProfile OpenAPI” でググってみてください。 私の
Qiita の記事が上の方に出てくるはず。。。 たぶん 5-10 分ぐらいで動かせます。 ※ Prerequirements: JDK1.8+
51.
Enjoy your Engineering Life with MicroProfile
52.
MicroProfile 1.3+ 対応サーバ MicroProfile
Open API に対応していること 改め
Download