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
330
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
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
64
Netty - Montreal Java User Group 2024-05-21
sullis
0
140
Netty Chicago Java User Group 2024-04-17
sullis
0
890
Java 21 - Portland Java User Group 2023-10-24
sullis
0
290
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
130
Code generation on the Java VM 2022-04-19
sullis
0
110
Mockito 2022-01-25
sullis
0
170
GitHub Actions 2021-12-16
sullis
0
37
Other Decks in Programming
See All in Programming
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
Refactor your code - refactor yourself
xosofox
1
260
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
たのしいparse.y
ydah
3
120
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
テストコード書いてみませんか?
onopon
2
110
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
480
선언형 UI에서의 상태관리
l2hyunwoo
0
160
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
6
930
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
190
Featured
See All Featured
Building Your Own Lightsaber
phodgson
103
6.1k
Faster Mobile Websites
deanohume
305
30k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
GraphQLとの向き合い方2022年版
quramy
44
13k
Typedesign – Prime Four
hannesfritz
40
2.4k
Navigating Team Friction
lara
183
15k
Automating Front-end Workflow
addyosmani
1366
200k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Building Applications with DynamoDB
mza
91
6.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
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