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
250
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
84
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
GoでParserを書く
karupanerura
3
450
JS RPCを理解する
yusukebe
5
310
AppRouter Panel Talk
yosuke_furukawa
PRO
1
530
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
130
RailsConf 2024: Riffing on Rails: sketch your way to better designed code
kaspth
1
220
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
19
2.5k
Powerfully Typed TypeScript
euxn23
4
1.8k
Using "modern" Ruby to build a better, faster Homebrew
mikemcquaid
2
300
The Hotwire Landscape After Turbo 8 @ Helvetic Ruby 2024, Zurich
marcoroth
0
110
Try creating your own orderedmap
kazamori
1
290
株式会社ゼネテック
genetec
0
130
ts-morphを使ってコードリプレイスとASTへのハードルを下げる!
nyawach
5
330
Featured
See All Featured
Faster Mobile Websites
deanohume
300
30k
What the flash - Photography Introduction
edds
64
11k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
What's new in Ruby 2.0
geeforr
338
31k
Code Review Best Practice
trishagee
56
15k
Building Your Own Lightsaber
phodgson
100
5.7k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
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