Slide 1

Slide 1 text

BAD_REQUEST = 400 ΛΊ͙Δ໰͍ɻ ϚδοΫφϯόʔ͸ՄಡੑΛ
 Լ͛Δͷ͔? @qsona (FiNC Technologies)

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

ࠓ೔࿩͢͜ͱ • BAD_REQUEST = 400 ͷྫ͔Β
 ϚδοΫφϯόʔͷੋඇͳͲʹ๲Β·ͤͯٞ࿦͢Δ • ͦͷաఔͰɺʮઃܭͷݴޠԽʯͷॏཁ͞Λ
 ͋ΒͨΊͯڧௐ͍ͨ͠

Slide 7

Slide 7 text

ࠓ೔ͷείʔϓ֎ • ͦ΋ͦ΋εςʔλείʔυ
 Λ࢖͍෼͚Δ΂͖͔ • ྫ: validation error ͷͱ͖ʹ
 400 BAD REQUEST
 Λฦ͢΂͖͔Ͳ͏͔ • ͜Ε͸͜ΕͰਂ͍࿩

Slide 8

Slide 8 text

૝૾ͯͨ͠΍ͭ

Slide 9

Slide 9 text

ͳΜͱͳ͍͘΍ͳίʔυ

Slide 10

Slide 10 text

ࡶͳࢦఠ • BAD REQUEST ͕ 400ͱ͔
 ͩΕͰ΋஌ͬͯΔΑͶ? • ࡶͳݴޠԽ

Slide 11

Slide 11 text

ॏཁͳࢦఠ

Slide 12

Slide 12 text

ΫΠζ • HTTPεςʔλείʔυ 409

Slide 13

Slide 13 text

ΫΠζ • HTTPεςʔλείʔυ 409 ͸ҎԼͷ͏ͪͲΕ • PERMANENT REDIRECT • INSUFFICIENT STORAGE • CONFLICT • PROCESSING

Slide 14

Slide 14 text

ΫΠζ • HTTPεςʔλείʔυ 409 ͸ҎԼͷ͏ͪͲΕ • 308 PERMANENT REDIRECT • 507 INSUFFICIENT STORAGE • 409 CONFLICT • 102 PROCESSING

Slide 15

Slide 15 text

ྑ͍ࢦఠ

Slide 16

Slide 16 text

վળҊ

Slide 17

Slide 17 text

࿦఺ • ϚδοΫφϯόʔͷੋඇ • HTTPεςʔλείʔυΛ਺஋Ͱϕλॻ͖͢Δ͜ͱͷੋඇ

Slide 18

Slide 18 text

ϚδοΫφϯόʔΛΊ͙Δ࿦఺ • "Մಡੑ͕ѱ͍" (not readable) • ࡶͳݴޠԽ

Slide 19

Slide 19 text

ϚδοΫφϯόʔͷՄಡੑ͕௿͍ͱ͸ • Կʹର͢Δ਺஋͔͕ͩΘ͔Βͳ͍Α • ਺஋ࣗମͷࠜڌ(ଥ౰ੑ)͕Θ͔Βͳ͍Α • ڞ௨Խ͞Εͯͳ͍Α • ϚδοΫφϯόʔ͸ѱɺ໰౴ແ༻

Slide 20

Slide 20 text

Կʹର͢Δ਺஋͔͕ͩΘ͔Βͳ͍Α • price * 1.08 • ͦ΋ͦ΋ 1.08 ͕͜͜ʹग़͖͍ͯͯΔཧ༝͕Θ͔Βͳ͍ • ਺஋ԋࢉͯ͠Δͱ͖ʹى͖͕ͪ

Slide 21

Slide 21 text

Կʹର͢Δ਺஋͔͕ͩΘ͔Βͳ͍Α • ؔ਺(ϝιου)ݺͼग़͠ʹ਺஋Λ౉͢ͱ͖͸ɺ
 ͜ͷ໰୊͸ى͜Βͳ͍ • ϝιουఆٛΛݟΕ͹Θ͔ΔͷͰ • લͷྫͰ͸ TAX_RATE ఆ਺Λఆٛ͢ΔΑΓ΋ɺ(ྫ͑͹)
 price_included_tax(base_price) ϝιουΛఆٛͨ͠΄͏͕͍͍

Slide 22

Slide 22 text

਺஋ࣗମͷࠜڌ(ଥ౰ੑ)͕Θ͔Βͳ͍Α • 409 ͕εςʔλείʔυΛදͯ͠Δͷ͸Θ͔Δ͕ɺ
 ͳͥ 409 ͳͷ͔͕Θ͔Βͳ͍ • ׂͱϚΠφʔͳ໰୊ͳؾ͕ͯ͠Δɻ͜Εʹ͍ͭͯ͸ޙड़

Slide 23

Slide 23 text

ڞ௨Խ͞Εͯͳ͍Α • ڞ௨Խ͢΂͖ͳΒͯ͘͠Ε • Ͳ͏͍͏࣌ʹڞ௨Խ͢΂͖͔͸Θ͔Δͳ?

Slide 24

Slide 24 text

const LIMIT = 10; ໰୊

Slide 25

Slide 25 text

const LIMIT = 10; ໰୊ • Լͷ͏ͪ1ͭ΋ղܾ͍ͯ͠ͳ͍ • Կʹର͢Δ਺஋͔͕ͩ
 Θ͔Βͳ͍Α • ਺஋ࣗମͷࠜڌ(ଥ౰ੑ)͕
 Θ͔Βͳ͍Α • ڞ௨Խ͞Εͯͳ͍Α

Slide 26

Slide 26 text

Ξϯέʔτ

Slide 27

Slide 27 text

๻ͷதͰͷਖ਼ղ

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

֮͑Δඞཁ͸ͳ͍ • 409 => conflict ͸άάΕ͹ҰॠͰग़ͯ͘Δ • ඞཁʹͳΔස౓ͷ໰୊ • ස౓͕ଟ͍ͳΒ͔֬ʹ໰୊͚ͩͲɺ
 ͦΜͳʹ͠ΐͬͪΎ͏͋Δ...?

Slide 30

Slide 30 text

ͲͪΒͷ৘ใྔ͕େࣄ͔? • 409 • ࢓༷ɺΠϯλʔϑΣΠε • conflict • ҙຯɺ࣮૷ʹ͍ۙ

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

ΠϯλʔϑΣΠεͷॏཁੑ • ྫ͑͹ OpenAPI 3 • Web API ͷ࢓༷ͷ
 υΩϡϝϯτ • ͜͜ʹ͸ `409` ͱ਺஋Ͱ ॻ͘

Slide 33

Slide 33 text

4xx = Client Error • 409 ͩͬͨΒͱΓ͋͑ͣ Client Errorͩͱ͍͏ͱ͜Ζ·Ͱ͸
 Θ͔Δ • Conflict ͬͯݴΘΕͯ΋Α͘Θ͔Βͳ͘ͳ͍...?

Slide 34

Slide 34 text

·ͱΊ • ؒҧ͍ͳ͘࢒೦ͳίʔυ͸ݴ͍ա͗ͩͬͨɺ͢·Μ • ϚδοΫφϯόʔ͸࠷ߴ • ઃܭ͸ݴޠԽΛ͍ͯ͜͠͏ • ͑͢ͳΈνϟϯε͸ࣗΒͷखͰ௫Ή΋ͷ

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content