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
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
460
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
150
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
390
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
740
How did I build an Open-Source SwiftUI Toast Library
lovee
1
170
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
380
Observation のあれこれ / A brief introduction about Observation
lovee
3
440
ChatGPT 時代の勉強 / Learning under ChatGPT era
lovee
27
9k
Other Decks in Programming
See All in Programming
Lessons from Spec-Driven Development
simas
PRO
0
220
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.8k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.5k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
OSもどきOS
arkw
0
590
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
A2UI という光を覗いてみる
satohjohn
1
150
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
Featured
See All Featured
Music & Morning Musume
bryan
47
7.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
Context Engineering - Making Every Token Count
addyosmani
9
980
First, design no harm
axbom
PRO
2
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
A Modern Web Designer's Workflow
chriscoyier
698
190k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
730
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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