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
Developing documentation for RESTful APIs
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ilya Chesnokov
February 16, 2017
Programming
48
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Developing documentation for RESTful APIs
Or how to kill three birds with one stone
Ilya Chesnokov
February 16, 2017
More Decks by Ilya Chesnokov
See All by Ilya Chesnokov
И снова об очередях
ichesnokov
0
31
Other Decks in Programming
See All in Programming
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
160
3Dシーンの圧縮
fadis
1
770
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
140
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
190
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
170
ふつうのFeature Flag実践入門
irof
7
3.9k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Rails Girls Zürich Keynote
gr2m
96
14k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Leo the Paperboy
mayatellez
7
1.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Automating Front-end Workflow
addyosmani
1370
210k
Marketing to machines
jonoalderson
1
5.4k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Transcript
Developing documentation for RESTful APIs: how to kill three birds
with one stone Ilya Chesnokov UK2 Group
Documentation is important • for API users – frontend developers
– customers using our API – our techsupport and QA • for API developers – code review – further use, development and refactoring of API – documentation (design)-driven development
Perl - POD • “Native” documentation format for Perl •
Easy to learn • Simple to use • Easily parseable • Extensible (if you have fantasy)
How to read docs? • perldoc • unparsed source •
convert to HTML and read in a browser
How to read docs? • perldoc – programmers only! •
unparsed source – programmers only! • convert to HTML and read in a browser – everyone
We need a converter!
What is documented? • General description • API routes and
methods • Input parameters • Output data – Possible errors
What is documented? • General description =head1, =head2 • API
routes and methods =head3 • Input parameters =head4, =item • Output data =head4, =item – Possible errors
None
=head3 POST /login Loging using your credentials. =head4 Input =over
=item username Username to login with. =item password Password to login with. =back =head4 Output ... The POD
None
None
None
None
Tweaks: common output
None
=head3 ANY /domain/:domain =head4 Output ...common output... =head3 GET /domain/:domain
=for docviewer output-from ANY /domain/:domain =head4 Output ...specific output ... Common output
Results • DDD FTW! – documentation is always up to
date – good programming practice • Testing (by hand) becomes even more easy • No need to write an admin panel – people use API console instead
Repository https://github.com/LoonyPandora/Pod -HTML5-Browser
Thank you! Ilya Chesnokov <
[email protected]
>