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
400
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
Dependency Management for Java - Seattle 2025-11-18
sullis
0
13
Dependency Management for Java - Portland - 2025-11-04
sullis
0
13
Dependency management for Java applications 2025-09-11
sullis
0
22
S3 NYC Iceberg meetup 2025-07-10
sullis
0
47
Amazon S3 Chicago 2025-06-04
sullis
0
120
Amazon S3 Boston 2025-05-07
sullis
0
80
Netty ConFoo Montreal 2025-02-27
sullis
0
130
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
87
Netty Portland Java User Group 2025-02-18
sullis
0
27
Other Decks in Programming
See All in Programming
Cap'n Webについて
yusukebe
0
150
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
410
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
200
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
270
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
170
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
600
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
120
Navigating Dependency Injection with Metro
l2hyunwoo
1
190
Implementation Patterns
denyspoltorak
0
130
AIコーディングエージェント(Gemini)
kondai24
0
280
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
44k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
100
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Optimizing for Happiness
mojombo
379
70k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
260
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
We Are The Robots
honzajavorek
0
120
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
31
Ruling the World: When Life Gets Gamed
codingconduct
0
100
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