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
14
Netty ConFoo Montreal 2025-02-27
sullis
0
47
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
24
Netty Portland Java User Group 2025-02-18
sullis
0
6
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
160
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
83
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
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
1
1.9k
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
3
530
カウシェで Four Keys の改善を試みた理由
ike002jp
1
120
Beyond_the_Prompt__Evaluating__Testing__and_Securing_LLM_Applications.pdf
meteatamel
0
100
Flutterでllama.cppをつかってローカルLLMを試してみた
sakuraidayo
0
120
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
1.4k
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
100
RuboCop: Modularity and AST Insights
koic
2
2.3k
flutter_kaigi_mini_4.pdf
nobu74658
0
140
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
240
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
230
Featured
See All Featured
Navigating Team Friction
lara
185
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
690
Practical Orchestrator
shlominoach
187
11k
Into the Great Unknown - MozCon
thekraken
38
1.7k
Rails Girls Zürich Keynote
gr2m
94
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Speed Design
sergeychernyshev
29
920
Measuring & Analyzing Core Web Vitals
bluesmoon
7
410
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Thoughts on Productivity
jonyablonski
69
4.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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