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
Playing with tapirs Scala Vienna UserGroup
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Michele Vigilante
November 21, 2019
Programming
0
19
Playing with tapirs Scala Vienna UserGroup
A presentation about the tapir library from softwaremill
Michele Vigilante
November 21, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
AI巻き込み型コードレビューのススメ
nealle
2
1.8k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
320
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
290
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
160
Data-Centric Kaggle
isax1015
2
790
2026年 エンジニアリング自己学習法
yumechi
0
140
Oxlintはいいぞ
yug1224
5
1.4k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.5k
今から始めるClaude Code超入門
448jp
8
9.2k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
340
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
290
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
210
Scaling GitHub
holman
464
140k
Building AI with AI
inesmontani
PRO
1
720
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
180
BBQ
matthewcrist
89
10k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Pragmatic Product Professional
lauravandoore
37
7.1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Evolving SEO for Evolving Search Engines
ryanjones
0
130
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Ace a Technical Interview
jacobian
281
24k
Transcript
tAPIr Playing with Tapirs Michele Vigilante @_zZKato: Twitter
Agenda • Conventional API definitions • What is tapir •
Why tapir • Inputs and Outputs • Capabilities • Live Demo - Customer Application
Conventional Endpoint definitions • Routes file ◦ No type safety
◦ Difficult to maintain • Spring annotations ◦ limited type safety ◦ **magic**
What is Tapir? • tapir -> Typed API descRiptions •
created by Adam Warski from Softwaremill • define HTTP endpoints as Scala values • gain for free via interpretation ◦ [framework] Route ◦ OpenAPI documentation ◦ sttp API client
Supported frameworks • akka-http • finatra • http4s • playframework
(Soon™) • BYOI -> bring your own interpreter
Why tapir • Full type safety • No magic, just
simple code • framework agnostic • free server, client and docs • very “ergonomic”
Inputs and Outputs Endpoint[I, E, O, _] tapir Endpoint type
I Inputs E Error Outputs O Outputs
Capabilities • Custom Types (provided Codec) • Input/Output validation •
Authentication -> bearer token / basic / OAuth2 • Payload -> JSON / URL-encoded Forms / Multipart Forms etc. • Streaming
Live Demo
Q & A Thanks for your attention! • Links ◦
https://www.firstbird.com/en/ ◦ https://tapir-scala.readthedocs.io/en/latest/index.html ◦ https://github.com/softwaremill/tapir ◦ https://github.com/zZKato/tapir-live-demo-scala-usergroup