Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Guardrail State of the Union 2021-04-13
Search
sullis
April 13, 2021
Programming
0
360
Guardrail State of the Union 2021-04-13
Guardrail project
Portland Java User Group
2021-04-13
#openapi
#java
#scala
sullis
April 13, 2021
Tweet
Share
More Decks by sullis
See All by sullis
Amazon S3 Boston 2025-05-07
sullis
0
27
Netty ConFoo Montreal 2025-02-27
sullis
0
49
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
28
Netty Portland Java User Group 2025-02-18
sullis
0
7
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
160
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
84
Netty - Montreal Java User Group 2024-05-21
sullis
0
170
Netty Chicago Java User Group 2024-04-17
sullis
0
1.1k
Java 21 - Portland Java User Group 2023-10-24
sullis
0
310
Other Decks in Programming
See All in Programming
“技術カンファレンスで何か変わる?” ──RubyKaigi後の自分とチームを振り返る
ssagara00
0
120
Instrumentsを使用した アプリのパフォーマンス向上方法
hinakko
0
250
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
250
バイラテラルアップサンプリング
fadis
3
580
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
14
6.5k
Browser and UI #2 HTML/ARIA
ken7253
2
180
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.4k
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
160
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
410
Cursorを活用したAIプログラミングについて 入門
rect
0
240
note の Elasticsearch 更新系を支える技術
tchov
9
3.6k
エンジニア向けCursor勉強会 @ SmartHR
yukisnow1823
3
13k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
76
9.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Building an army of robots
kneath
305
45k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing for humans not robots
tammielis
253
25k
Site-Speed That Sticks
csswizardry
6
550
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Balancing Empowerment & Direction
lara
0
21
Measuring & Analyzing Core Web Vitals
bluesmoon
7
430
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
850
Transcript
Sean Sulliva n April 13, 202 1 Portland Java User
Group Guardrai l State of the Union
Introductio n What’s ne w Artisan qualit y 2021 Roadmap
Guardrai l is a code generation tool
Guardrail OpenAPI Java Scala
generated code OpenAPI
January 2017
First public release : September 2017
First blog post: March 2018
Guardrail is opinionated
API First development
Strongly typed code
Make illegal states unrepresentable
Leverage th e type system t o ensure correctness
Embrac e referential transparency
Favor immutability
Generate idiomatic code
What’s New?
https://github.com/guardrail-dev New GitHub org
sbt plugi n Maven plugi n Gradle plugin
None
Java collection s VAVR collections
VAVR support
<plugin > <groupId>com.twilio</groupId > <artifactId>guardrail-maven-plugin_2.12</artifactId> <version>0.62.2</version > … <modules >
<module>java-vavr</module > <module>jackson</module > <module>dropwizard</module > <module>async-http-client</module> </modules > … <plugin > VAVR pom.xml
Dropwizar d Spring MVC
Spring
Sample apps
None
None
None
Artisan quality
Continuous integration
Travis CI GitHu b Actions
None
None
Which version of Java?
JDK 8 JDK 1 1 JDK 13 JDK 1 4
JDK 1 5 JDK 16
Build matrix
Publish to Maven Central
ScalaTes t ScalaChec k Scoverage Testing, Testing, Testing
EqualsVeri fi e r sbt-tes t maven-invoker-plugin Testing, Testing, Testing
maven-invoker-plugin Integration tests
Roadmap
OpenAPI 3. 1 Dropwizard 2. x Scala 3.0
Final thoughts
Guardrail is awesom e API First developmen t Code generation
is a force multiplier
Contribute to guardrail !
Questions?
The End