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
BAD_REQUEST = 400 をめぐる問い。マジックナンバーは可読性を下げるのか? / ...
Search
qsona
August 03, 2019
Technology
7
4.9k
BAD_REQUEST = 400 をめぐる問い。マジックナンバーは可読性を下げるのか? / bad request is 400
すえなみチャンス暑気払い
qsona
August 03, 2019
Tweet
Share
More Decks by qsona
See All by qsona
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
4
550
Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer
qsona
28
8.8k
3 Practices about Service-to-Service GraphQL Ruby Client
qsona
1
1.1k
いかにして GraphQL を組織に導入するか (新規開発編) / how we introduce GraphQL on scratch development
qsona
6
4.1k
Well-organized Transaction Script - リファクタリングの妥協的手法 -
qsona
4
1.5k
GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
qsona
25
15k
最高のマスターデータ管理手法考察 & VSCode Extension を活用した話 / developing masterdata management tool by using vscode extension
qsona
9
6.6k
GraphQL を活用したスキーマ駆動開発の実践 / schema-driven development with GraphQL
qsona
6
5.7k
GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL
qsona
37
16k
Other Decks in Technology
See All in Technology
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
250
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
300
Building Serverless AI Memory with Mastra × AWS
vvatanabe
1
820
Introduce marp-ai-slide-generator
itarutomy
0
160
2025年 山梨の技術コミュニティを振り返る
yuukis
0
130
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.6k
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
140
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
240
202512_AIoT.pdf
iotcomjpadmin
0
170
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
550
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Prompt Engineering for Job Search
mfonobong
0
130
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
33
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Become a Pro
speakerdeck
PRO
31
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
260
Agile that works and the tools we love
rasmusluckow
331
21k
Odyssey Design
rkendrick25
PRO
0
450
Navigating Team Friction
lara
191
16k
Skip the Path - Find Your Career Trail
mkilby
0
28
Transcript
BAD_REQUEST = 400 ΛΊ͙Δ͍ɻ ϚδοΫφϯόʔՄಡੑΛ Լ͛Δͷ͔? @qsona (FiNC Technologies)
None
None
None
None
ࠓ͢͜ͱ • BAD_REQUEST = 400 ͷྫ͔Β ϚδοΫφϯόʔͷੋඇͳͲʹΒ·ͤͯٞ͢Δ • ͦͷաఔͰɺʮઃܭͷݴޠԽʯͷॏཁ͞Λ ͋ΒͨΊͯڧௐ͍ͨ͠
ࠓͷείʔϓ֎ • ͦͦεςʔλείʔυ Λ͍͚Δ͖͔ • ྫ: validation error ͷͱ͖ʹ 400
BAD REQUEST Λฦ͖͔͢Ͳ͏͔ • ͜Ε͜ΕͰਂ͍
૾ͯͨͭ͠
ͳΜͱͳ͍͘ͳίʔυ
ࡶͳࢦఠ • BAD REQUEST ͕ 400ͱ͔ ͩΕͰͬͯΔΑͶ? • ࡶͳݴޠԽ
ॏཁͳࢦఠ
ΫΠζ • HTTPεςʔλείʔυ 409
ΫΠζ • HTTPεςʔλείʔυ 409 ҎԼͷ͏ͪͲΕ • PERMANENT REDIRECT • INSUFFICIENT
STORAGE • CONFLICT • PROCESSING
ΫΠζ • HTTPεςʔλείʔυ 409 ҎԼͷ͏ͪͲΕ • 308 PERMANENT REDIRECT •
507 INSUFFICIENT STORAGE • 409 CONFLICT • 102 PROCESSING
ྑ͍ࢦఠ
վળҊ
• ϚδοΫφϯόʔͷੋඇ • HTTPεςʔλείʔυΛͰϕλॻ͖͢Δ͜ͱͷੋඇ
ϚδοΫφϯόʔΛΊ͙Δ • "Մಡੑ͕ѱ͍" (not readable) • ࡶͳݴޠԽ
ϚδοΫφϯόʔͷՄಡੑ͕͍ͱ • Կʹର͢Δ͔͕ͩΘ͔Βͳ͍Α • ࣗମͷࠜڌ(ଥੑ)͕Θ͔Βͳ͍Α • ڞ௨Խ͞Εͯͳ͍Α • ϚδοΫφϯόʔѱɺແ༻
Կʹର͢Δ͔͕ͩΘ͔Βͳ͍Α • price * 1.08 • ͦͦ 1.08 ͕͜͜ʹग़͖͍ͯͯΔཧ༝͕Θ͔Βͳ͍ •
ԋࢉͯ͠Δͱ͖ʹى͖͕ͪ
Կʹର͢Δ͔͕ͩΘ͔Βͳ͍Α • ؔ(ϝιου)ݺͼग़͠ʹΛ͢ͱ͖ɺ ͜ͷى͜Βͳ͍ • ϝιουఆٛΛݟΕΘ͔ΔͷͰ • લͷྫͰ TAX_RATE ఆΛఆٛ͢ΔΑΓɺ(ྫ͑)
price_included_tax(base_price) ϝιουΛఆٛͨ͠΄͏͕͍͍
ࣗମͷࠜڌ(ଥੑ)͕Θ͔Βͳ͍Α • 409 ͕εςʔλείʔυΛදͯ͠ΔͷΘ͔Δ͕ɺ ͳͥ 409 ͳͷ͔͕Θ͔Βͳ͍ • ׂͱϚΠφʔͳͳؾ͕ͯ͠Δɻ͜Εʹ͍ͭͯޙड़
ڞ௨Խ͞Εͯͳ͍Α • ڞ௨Խ͖͢ͳΒͯ͘͠Ε • Ͳ͏͍͏࣌ʹڞ௨Խ͖͔͢Θ͔Δͳ?
const LIMIT = 10;
const LIMIT = 10; • Լͷ͏ͪ1ͭղܾ͍ͯ͠ͳ͍ • Կʹର͢Δ͔͕ͩ Θ͔Βͳ͍Α
• ࣗମͷࠜڌ(ଥੑ)͕ Θ͔Βͳ͍Α • ڞ௨Խ͞Εͯͳ͍Α
Ξϯέʔτ
ͷதͰͷਖ਼ղ
None
֮͑Δඞཁͳ͍ • 409 => conflict άάΕҰॠͰग़ͯ͘Δ • ඞཁʹͳΔසͷ • ස͕ଟ͍ͳΒ͔֬ʹ͚ͩͲɺ
ͦΜͳʹ͠ΐͬͪΎ͏͋Δ...?
ͲͪΒͷใྔ͕େࣄ͔? • 409 • ༷ɺΠϯλʔϑΣΠε • conflict • ҙຯɺ࣮ʹ͍ۙ
None
ΠϯλʔϑΣΠεͷॏཁੑ • ྫ͑ OpenAPI 3 • Web API ͷ༷ͷ υΩϡϝϯτ
• ͜͜ʹ `409` ͱͰ ॻ͘
4xx = Client Error • 409 ͩͬͨΒͱΓ͋͑ͣ Client Errorͩͱ͍͏ͱ͜Ζ·Ͱ Θ͔Δ
• Conflict ͬͯݴΘΕͯΑ͘Θ͔Βͳ͘ͳ͍...?
·ͱΊ • ؒҧ͍ͳ͘೦ͳίʔυݴ͍ա͗ͩͬͨɺ͢·Μ • ϚδοΫφϯόʔ࠷ߴ • ઃܭݴޠԽΛ͍ͯ͜͠͏ • ͑͢ͳΈνϟϯεࣗΒͷखͰ௫Ήͷ
None
None