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
280
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 Chicago Java User Group 2024-04-17
sullis
0
240
Java 21 - Portland Java User Group 2023-10-24
sullis
0
230
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
100
Code generation on the Java VM 2022-04-19
sullis
0
83
Mockito 2022-01-25
sullis
0
150
GitHub Actions 2021-12-16
sullis
0
28
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
46
Guardrail: State of the Union 2021-03-18
sullis
0
140
Java on AWS 2020-12-15
sullis
0
200
Other Decks in Programming
See All in Programming
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
16
2k
Goのmultiple errorsについて (2024年4月版)
syumai
4
1.3k
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
480
Adding Security to Microcontroller Ruby
sylph01
0
130
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
12
4.3k
Try creating your own orderedmap
kazamori
1
280
Fragment Composition of GraphQL
quramy
14
1.7k
Apache Hive 4 on Treasure Data
ryukobayashi
1
470
otelcol receiver 自作RTA / Pepabo Tech Conference #22 春のSREまつり
arthur1
0
110
Runtime Objects in Rust
mitsuhiko
0
200
Jetpack Composeとデザインシステム
rmakiyama
0
210
TypeScriptのパフォーマンス改善
yajihum
12
4.9k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
Clear Off the Table
cherdarchuk
85
310k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Producing Creativity
orderedlist
PRO
338
39k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
2k
Faster Mobile Websites
deanohume
300
30k
Writing Fast Ruby
sferik
622
60k
Designing Experiences People Love
moore
136
23k
What's new in Ruby 2.0
geeforr
338
31k
KATA
mclloyd
16
12k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
Building Applications with DynamoDB
mza
88
5.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