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
UW Advanced Rails Week 4
Search
Ben Woodall
April 23, 2015
Programming
0
71
UW Advanced Rails Week 4
Ben Woodall
April 23, 2015
Tweet
Share
More Decks by Ben Woodall
See All by Ben Woodall
UW Advanced Rails Week 9
benwoodall
0
43
UW Advanced Rails Week 8
benwoodall
0
50
UW Advanced Rails Week 7
benwoodall
0
46
Week 6
benwoodall
0
50
UW Advanced Rails Week 5
benwoodall
0
56
UW Advanced Rails Week 3
benwoodall
0
69
UW Advanced Rails Week 2
benwoodall
0
180
UW Advanced Rails Week 1
benwoodall
0
99
A Bit More Git
benwoodall
1
5.1k
Other Decks in Programming
See All in Programming
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
SQL Server 2025 LT
odashinsuke
0
190
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.3k
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.2k
Graviton と Nitro と私
maroon1st
0
170
ThorVG Viewer In VS Code
nors
0
750
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.6k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
180
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
160
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
170
Fragmented Architectures
denyspoltorak
0
120
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
120
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
390
sira's awesome portfolio website redesign presentation
elsirapls
0
130
Evolving SEO for Evolving Search Engines
ryanjones
0
100
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
620
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Designing for Performance
lara
610
70k
Between Models and Reality
mayunak
1
170
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
140
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
Questions from Week 3? 1
Week 4: Building APIs Spring 2015 2
Why an API? Allow other applications to interface with our
services Useful for data driven development 3
REST API Data Formats JSON JavaScript Object Notation MIME type:
application/json XML Extensible Markup Language MIME type: application/xml and text/xml 4
JSON Example { "shorturl": "lf64kr", "user": { "id": 2, "name":
"benwoodall", "email": "
[email protected]
" }, "array": [1,3,5,7] } 5
XML Example <?xml version="1.0" encoding="UTF-8" ?> <root> <shorturl>lf64kr</shorturl> <user> <id>2</id>
<name>benwoodall</name> <email>
[email protected]
</email> </user> <array>1</array> <array>3</array> <array>5</array> <array>7</array> </root> 6
Building an API in Shortener 7
We need an API end-point to create short urls Requests
should be authenticated against 8 What do we know so far?
Tests 9 spec/controllers/api/v1/links_controller_spec.rb
respond_to 10
respond_to 11
Namespacing 12 config/routes.rb
Namespacing 13 config/routes.rb app/controllers/api/base_controller.rb
Namespacing 14 config/routes.rb app/controllers/api/base_controller.rb app/controllers/api/v1/links_controller.rb
Testing 15 spec/controllers/api/v1/links_controller_spec.rb
Creating a Link 16 app/controllers/api/v1/links_controller.rb
Authenticating 17 app/controllers/api/base_controller.rb
Authenticating 18
Authenticating 19
Authenticating 20 app/models/user.rb
Views 21 app/views/settings/index.html.erb
JBuilder 22 app/views/api/v1/links/show.html.erb
Questions? 23