Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アプリエンジニアに知ってほしい Postman の使い方
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Elvis Shi
October 16, 2018
Programming
880
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
550
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
550
ゼロから始めるPreferenceの実装 / Let's implement Preferences from scratch
lovee
0
160
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
400
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
780
How did I build an Open-Source SwiftUI Toast Library
lovee
1
190
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
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
510
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
Building an Out-of-Order CPU
latte72
1
800
App Intentsのビルドプロセスを支える技術
kntkymt
0
430
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
160
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8.4k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.8k
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
540
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
340
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.9k
Producing Creativity
orderedlist
PRO
348
41k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
390
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
The agentic SEO stack - context over prompts
schlessera
0
940
4 Signs Your Business is Dying
shpigford
187
23k
Agile that works and the tools we love
rasmusluckow
331
22k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
How to make the Groovebox
asonas
2
2.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
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