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
60
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
34
UW Advanced Rails Week 8
benwoodall
0
42
UW Advanced Rails Week 7
benwoodall
0
40
Week 6
benwoodall
0
40
UW Advanced Rails Week 5
benwoodall
0
47
UW Advanced Rails Week 3
benwoodall
0
63
UW Advanced Rails Week 2
benwoodall
0
87
UW Advanced Rails Week 1
benwoodall
0
93
A Bit More Git
benwoodall
1
5k
Other Decks in Programming
See All in Programming
Sheets API使ってみた
toshi0383
2
140
Code Reviews
bkuhlmann
4
890
Ruby Pattern Matching
bkuhlmann
0
930
Try creating your own orderedmap
kazamori
0
130
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
130
AmperとFleetを使ったAndroidアプリ
yoppie
0
240
Going beyond Apache Parquet's default settings
xhochy
0
110
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
660
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
950
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
390
敵対的ポイフル
futabato
0
110
Git Lint
bkuhlmann
4
750
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
26
4k
Code Reviewing Like a Champion
maltzj
515
39k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
Writing Fast Ruby
sferik
622
60k
KATA
mclloyd
16
12k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Atom: Resistance is Futile
akmur
260
25k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Fireside Chat
paigeccino
22
2.6k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Making Projects Easy
brettharned
109
5.5k
Music & Morning Musume
bryan
41
5.6k
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