Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Guardrail: State of the Union 2021-03-18
sullis
March 18, 2021
Programming
0
74
Guardrail: State of the Union 2021-03-18
Guardrail project
State of the Union
2021-03-18
#scala
#java
#codegen
#openapi
https://guardrail.dev
sullis
March 18, 2021
Tweet
Share
More Decks by sullis
See All by sullis
Code generation on the Java VM 2022-04-19
sullis
0
33
Mockito 2022-01-25
sullis
0
85
GitHub Actions 2021-12-16
sullis
0
11
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
19
Guardrail State of the Union 2021-04-13
sullis
0
130
Java on AWS 2020-12-15
sullis
0
150
Continuous Delivery with GitHub Actions - DeliveryConf 2020
sullis
0
490
OpenAPI and Java - Portland - 2019-12-10
sullis
0
170
Code generation on the Java VM 2019-12-05
sullis
0
180
Other Decks in Programming
See All in Programming
SPA/MPA 議論の俯瞰と 現代における設計のポイント - #tfcon 2022 フロントエンド設計
ahomu
3
1.5k
Android入門
hn410
0
300
Go API クライアントの実装 〜Go Conference に載せれなかったTIPS〜
yyoshiki41
0
190
Language Summit 2022: WebAssembly: Python in the browser and beyond
tiran
2
310
Where and how to run UI tests (Droidcon London, 2021)
nonews
0
200
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
230
tfcon2022_Web3Dひとめぐり.pdf
emadurandal
0
700
PublishでWebサイトを構築してみた / generate_website_with_publish
uhooi
2
110
Reactでアプリケーションを構築する多様化
sakito
4
3k
Jakarta EE 10 is Coming Your Way
ivargrimstad
0
2k
コードの解析と言語習得の心得
jinjin33333
0
120
Monadic Java
mariofusco
4
250
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
The World Runs on Bad Software
bkeepers
PRO
56
5.2k
Building Adaptive Systems
keathley
25
1.1k
Happy Clients
brianwarren
89
5.5k
A Philosophy of Restraint
colly
192
14k
GraphQLとの向き合い方2022年版
quramy
16
8k
Unsuck your backbone
ammeep
659
55k
Adopting Sorbet at Scale
ufuk
63
7.5k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Music & Morning Musume
bryan
35
4.1k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
11
4.6k
Transcript
Sean Sulliva n March 18, 2021 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