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
300
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
Netty - Montreal Java User Group 2024-05-21
sullis
0
99
Netty Chicago Java User Group 2024-04-17
sullis
0
470
Java 21 - Portland Java User Group 2023-10-24
sullis
0
250
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
120
Code generation on the Java VM 2022-04-19
sullis
0
90
Mockito 2022-01-25
sullis
0
160
GitHub Actions 2021-12-16
sullis
0
33
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
48
Guardrail: State of the Union 2021-03-18
sullis
0
150
Other Decks in Programming
See All in Programming
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
CSC307 Lecture 13
javiergs
PRO
0
150
Namespace on read
tagomoris
2
370
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
유연한 Composable 설계
l2hyunwoo
0
380
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
CSC307 Lecture 14
javiergs
PRO
0
220
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
生成AIをkintoneに連携してみた
hideg
0
230
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Design by the Numbers
sachag
277
18k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
149
45k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
A designer walks into a library…
pauljervisheath
201
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Happy Clients
brianwarren
94
6.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Rails Girls Zürich Keynote
gr2m
93
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
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