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
アプリエンジニアに知ってほしい Postman の使い方
Search
Elvis Shi
October 16, 2018
Programming
870
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アプリエンジニアに知ってほしい Postman の使い方
Elvis Shi
October 16, 2018
More Decks by Elvis Shi
See All by Elvis Shi
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
520
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
150
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
400
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
760
How did I build an Open-Source SwiftUI Toast Library
lovee
1
180
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
1.3k
SwiftUIで二重スクロール作ってみた / When I tried to make a dual-scroll-ish view in SwiftUI
lovee
1
390
Observation のあれこれ / A brief introduction about Observation
lovee
3
450
Other Decks in Programming
See All in Programming
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
550
Google Apps Script で Ruby を動かす
kawahara
0
230
Go 1.27 における memory allocation の高速化
andpad
0
180
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
Flow は今どうなっているか
mizdra
PRO
0
540
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
180
What's New in Android 2026
veronikapj
0
260
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
930
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.5k
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
160
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
190
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
490
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
280
Prompt Engineering for Job Search
mfonobong
0
400
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
We Have a Design System, Now What?
morganepeng
55
8.3k
Scaling GitHub
holman
464
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Tell your own story through comics
letsgokoyo
1
1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Transcript
ΞϓϦΤϯδχΞʹͬͯ΄͠ ͍1PTUNBOͷ͍ํ for0UFNBDIJTXJGU
} var employedBy = "YUMEMI Inc." var job = "iOS
Developer" var favoriteLanguage = "Swift" var twitter = "@lovee" var qiita = "lovee" var github = "el-hoshino" var additionalInfo = """ ৭ʑਐḿ͕͍ """ class Me: Developable, Talkable {
ຊੜ
͓அΓ w ͜ͷൃද4XJGUͷίʔυ͕Ұ΄ͱΜͲग़·ͤΜ w ͜ͷൃදJ04ͷ͜ͱҰग़·ͤΜ
αʔό"1*
αʔό"1* w ϕʔε63- w IUUQTXXXTFSWFSDPN w ύε w MPHJO w
ϝιου w 1045 w ϘσΟʢ+40/ͳͲʣ w \NBJMTPNFCPEZ!TPNFXIFSFDPN QBTTXPSE6T'HP^ w Ϩεϙϯεʢ+40/ͳͲʣ w \TVDDFTTUSVF UPLFO&&/LX9Y%7B9;ST1/ZETZH&&H^
extension LoginRequest: Request { var baseURL: URL { return self.apiURL
} var method: HTTPMethod { return .post } var path: String { return "/login" } var parameters: Any? { let postingParameters: [String: Any?] = [ "mail": self.mail, "password": self.password ] return postingParameters } struct Response: Decodable { let token: String } }
extension LoginRequest: Request { var baseURL: URL { return self.apiURL
} var method: HTTPMethod { return .post } var path: String { return "/login" } var parameters: Any? { let postingParameters: [String: Any?] = [ "mail": self.mail, "password": self.password ] return postingParameters } struct Response: Decodable { let token: String } } let request = LoginRequest(apiURL: userAPIBaseURL, mail: mail, password: password) Session.send(request) { [unowned self] (result) in switch result { case .success(let response): let status = self.makeAccountStatus(from: response) completion?(status) case .failure(let error): let status = self.makeAccountStatus(from: error) completion?(status) } } $PEFXJUI"1*,JU IUUQTHJUIVCDPNJTILBXB"1*,JU
仕様書だけでコード組むの怖い! ※どうせ仕様書通りに動かない 確認しながら通信周り 組んでいきたい!
ƋƒŧūŧƄŧƄ4XJGUƊ ǜǏǞlj✣ǟ⊾ƣƑ૫֚ŧl
1PTUNBO
IUUQTXXXHFUQPTUNBODPNBQQT
None
1PTUNBO(MPTTBSZ w 8PSLTQBDF w ෳͷϓϩδΣΫτΛ·ͱΊͨॴ w $PMMFDUJPOT w ҰͭͷϓϩδΣΫτͰ͏༷ʑͳڥ"1*Λ·ͱ Ίͨॴ
w &OWJSPONFOU w ֤छڥʢ%FWڥͩͱ͔ຊ൪ڥͩͱ͔ʣ w 3FRVFTU w ࣮ࡍͷ"1*ϦΫΤετ
1PTUNBOͷϝϦοτ w มΛهԱͰ͖ΔʗڥʹԠ͍͚͕ͯ͡Ͱ͖Δ w +BWB4DSJQUͰϦΫΤετͷલޙʹಈ࡞ΛૠೖͰ͖Δ
w 4UBHJOHڥͷςετΞΧϯτใΛऔಘ w ΞΧϯτใͰϩάΠϯ"1*Λୟ͘ w ϩάΠϯࡁΈͷ5PLFOΛར༻ͯ͠ผͷ"1*Λୟ͘
1PTUNBOʹ4UBHJOHڥͰඞཁͳมΛ ڥઃఆͰఆٛ
3FRVFTUΛ࡞͠ɺύεϘσΟͳͲΛ طఆͷม͔Βఆٛ ʢ{{variableName}}ͰมΛ͑Δʣ
ʮ4FOEʯΛԡͤฦ͖ͬͯͨϨεϙϯεΛ ͙͢ʹ֬ೝͰ͖Δ
ʮ5FTUTʯͰϨεϙϯεΒͬͨޙͷॲཧΛ +BWB4DSJQUͰॻ͚Δ ʢຊདྷϨεϙϯεΛςετ͢ΔͨΊͰ͕͢ ςετҎ֎Ͱ͑Δʣ
w pmͰ1PTUNBOͷϝιουΛݺͼग़ͤΔ w pm.response.json();ͰϨεϙϯεͷ +40/ΦϒδΣΫτΛऔಘͰ͖Δ w pm.environment.set(key, value);Ͱ ڥʹมΛઃఆͰ͖Δ w
IUUQTXXXHFUQPTUNBODPNEPDTW QPTUNBOTDSJQUTUFTU@TDSJQUT
ʮ5FTUTʯͰอଘͨ͠token͕Ճ͞Εͨ
อଘ͞ΕͨtokenΛͬͯผͷ"1*Λୟ͚ͨ
rܙྤ l1PTUNBOͰखܰͳ"1*֬ೝΛz
ʲએʳ
J04ΞϓϦઃܭύλʔϯೖ IUUQTQFBLTDDJ04@BSDIJUFDUVSF
גࣜձࣾΏΊΈɺΤϯδχΞઈࢍืूத IUUQSFDSVJUZVNFNJDPKQ