Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Playing with tapirs Scala Vienna UserGroup
Search
Michele Vigilante
November 21, 2019
Programming
21
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Playing with tapirs Scala Vienna UserGroup
A presentation about the tapir library from softwaremill
Michele Vigilante
November 21, 2019
Other Decks in Programming
See All in Programming
golang-bob.pdf
iwatsukayura
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
240
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
760
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.3k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
160
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
210
Performance Optimization With LLMs
xleitix
0
110
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Docker and Python
trallard
47
4.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Amusing Abliteration
ianozsvald
1
350
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Skip the Path - Find Your Career Trail
mkilby
1
260
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
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