Skip to content

[review] Android Retrofit Request Code#67

Open
jinsu4755 wants to merge 2 commits intofix/designfrom
upload/request_form
Open

[review] Android Retrofit Request Code#67
jinsu4755 wants to merge 2 commits intofix/designfrom
upload/request_form

Conversation

@jinsu4755
Copy link
Member

Description

Request ๋ถ€๋ถ„ ์ฝ”๋“œ ์ž‘์„ฑ

๊ณ ๋ ค์‚ฌํ•ญ.
BaseRequest?
callback์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒƒ์ด Request์˜ ์ง„์งœ ํ•˜์œ„์ผ๊นŒ?
๊ทธ๋žฌ๋‹ค๋ฉด ์• ์ดˆ์— call.enque์˜ ํ˜•์‹์ด ์•„๋‹ˆ์ง€ ์•Š์„๊นŒ?
call๊ฐ์ฒด์— enqueue๋ผ๋Š” callback์„ ๊ตฌํ˜„ํ•ด์„œ ๋„ฃ์–ด์ฃผ๋Š” ์ด์œ ์— ์–ด๊ธ‹ ๋‚˜๋Š” ๋ถ€๋ถ„์ผ ๊ฒƒ ๊ฐ™๋‹ค ์ƒ๊ฐ
์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“œ๋Š” Request๋Š” ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋กœ ๋ฐ˜ํ™˜๋œ call์— callback์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ํ˜•์‹์ด๋ผ ์ƒ๊ฐํ•จ.
-> ์ƒ์†๊ตฌ์กฐ๋ฅผ ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๋งˆ์Œ ๋จน์Œ

๊ทธ๋Ÿผ ์ค‘๋ณต ์ฝ”๋“œ๋Š”?
์‚ฌ์‹ค ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค๋ฉด Reqeust๋ผ๋Š” ํด๋ž˜์Šค ์•ˆ์— ๋ฐ˜๋“œ์‹œ Callback ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ๊ทธ๊ฒƒ์„ applyํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ ์–ด์•ผํ•จ
๊ทธ๋ ‡๋‹ค๊ณ  ์ด ์ฝ”๋“œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋Š” ์ƒ์†๊ตฌ์กฐ?๋Š” ์ƒ์†์ด๋ž€ ๊ฐœ๋…์—์„œ ์–ด๊ธ‹๋‚ฌ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Œ.
์ฐจ๋ผ๋ฆฌ ํ™•์žฅํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•ด์„œ ๋‘˜๊นŒ? ์ƒ๊ฐํ–ˆ์œผ๋‚˜ ์‹œ๊ฐ„์ƒ ๋น ์œ„..

Request์˜ ๋ฒ”์œ„๋Š” ๋ญ์ง€?
image
์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” enqueue๋Š” execute๋ถ€๋ถ„์—์„œ ํ˜ธ์ถœ๋ ๊ฒƒ์ด๋ฉฐ ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•„์˜ค๊ธฐ์— ๋น„๋™๊ธฐ๋กœ ๋ฐ›์•˜์„๋•Œ ์–ด๋–ค์ผ์„ ํ• ์ง€ ์ •์˜ํ•ด์ฃผ๋Š” ๋ถ€๋ถ„์ด Request์˜ ๋ฒ”์œ„๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Œ

์ฆ‰ Requet๋ผ๋Š” ๊ฐ์ฒด๋Š” ์šฐ๋ฆฌ๊ฐ€ ์„œ๋ฒ„์— ์–ด๋–ค๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์–ด๋–ค ์ผ์„ ํ• ์ง€ ์ง€์ •ํ•˜๋Š” ์ฑ…์ž„์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•จ.

๊ทธ๋ ‡๊ธฐ์— callback์„ ์ƒ์†์ด ์•„๋‹Œ ๋‚ด๋ถ€์— ์ธ์Šคํ„ด์Šค๋กœ ๊ฐ€์ง€๋„๋ก ํ•จ.

๊ทธ๋ฆฌ๊ณ  Request์—์„œ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•จ.

์ƒ์„ฑ์ž๋กœ ๋“ค์–ด์˜ฌ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ๋Š” DataCalss๋กœ ๋ฐ›์„ ์ƒ๊ฐํ•จ.

๊ฒฐ๊ตญ ์ด ๊ฒฝ์šฐ์— ์ปดํฌ์ง€์…˜์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์•ˆ์žกํž˜ ์ดํŒฉํ‹ฐ๋ธŒ ์ž๋ฐ” ์˜ˆ์‹œ๋Š” Set์ด ๋‹ฌ๋ ค์žˆ๋Š”๋ฐ ๊ทธ๊ฑธ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ํ•œ๊ณ„์™€ ์ž์‹ ์˜ ๋ถ€์กฑํ•จ์œผ๋กœ ์ธํ•ด ํ˜„ํƒ€์˜ด

์  ์žฅ.... ๋‚œ ๊ฐ์ž์•ผ... ใ……ใ…‚ ๋งํ•˜๋Š” ๊ฐ์ž...

์ฐธ๊ณ 

ํ•ด๋‹น ๋ถ€๋ถ„ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์œ„ํ•ด์„œ ์ผ๋ถ€๋Ÿฌ ์ด๋ฆ„์— Review๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค. ์›๋ž˜ Review๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํฌ๋ง ๋ฆฌ๋ทฐ ์™„๋ฃŒ์ผ

์—†์Œ ํ˜์ดํ˜• ํŽธํ• ๋•Œ ํ•œ๊ฐ€ํ• ๋•Œ ํ•ด์ฃผ๋ฉด ์ง„์งœ ๋งค์šฐ ๊ฐ์‚ฌ ใ…‡ใ…ˆ?

๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ์ปค๋ฐ‹ ๋ง‰์ ์Œ ใ…ˆใ……
Copy link

@malibinYun malibinYun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ ;; ๋„˜์— ์˜ค๊ฐ€๋‹ˆ์ œ์ด์…˜๊นŒ์ง€ ์ณ๋“ค์–ด์™€์„œ ๋ฆฌ๋ทฐ๋ฅผ ๋‚จ๊ธฐ๋Š”๊ฒŒ ์ฉ ์œ ์พŒํ•˜์ง€๋งŒ์€ ์•Š์ฟค์š”.
์จŒ๋“  ๋ถ€ํƒํ–ˆ์œผ๋‹ˆ ๋‚ด๊ฐ€ ๋А๋‚€์ ๋“ค์€ ๋งํ•ด์ฃผ๋Š”๋ฐ.. ์กด๋‚˜ ์“ธ๋ฐ ์—†์„ ์ˆ˜๋„์žˆ์Œ.

๋‚ด๊ฐ€ ์ฒ˜์Œ ์ด๋†ˆ์˜ ํŒจํ„ด์„ ๋งŒ๋“œ๋ ค๊ณ  ํ–ˆ๋˜๊ฑด ๊ทธ๋ƒฅ ๋‚ด๊ฐ€ ์“ฐ๊ธฐ ํŽธํ•˜๋ ค๊ณ  ๋งŒ๋“ค๋ ค๋˜๊ฑฐ์˜€์Œ. rx๊ฐ™์€ ์‚ฌ์šฉ์„ฑ์„ ๊ฐ€์ง„๊ฒƒ ์ฒ˜๋Ÿผ ๋งˆ๊ฐœ์กฐ๋ฅผ ํ•œ๊ฑฐ์ง€

์ฒ˜์Œ์—” ์™„๋ฒฝํ•˜๊ฒŒ rx์ฒ˜๋Ÿผ ๋นŒ๋”ํŒจํ„ด์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ คํ–ˆ์—ˆ์Œ.

ใ…ใ…Request.setParams()
.set...Listener
.set...Listener
.send()

๋ญ ์ด๋Ÿฐ์‹์œผ๋กœ. ๊ทผ๋ฐ ๋งŒ๋“ค๋‹ค๋ณด๋‹ˆ ๋นŒ๋”ํŒจํ„ด์„ ๋งŒ๋“ค ์ค„ ๋ชฐ๋ž์–ด์„œ apply๋ธ”๋ฝ์„ ์จ์•ผ๋งŒ ํ•˜๋Š” ๊ฐœ๋ณ‘์‹  ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ฒŒ๋œ๊ฑฐ์ž„. ๊ทผ๋ฐ ์‹œ๊ฐ„์ด ์—†์œผ๋‹ˆ ๊ทธ๋ƒฅ ๊ทธ๋Œ€๋กœ ์“ฐ๊ฒŒ ๋œ๊ฑฐ๊ณ .

๊ฐ์„คํ•˜๊ณ ,
๋‚˜๋Š” Callback์„ ์‚ฌ์šฉํ•ด์•ผ๋งŒ ํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด + rx OR Coroutine ๊ฐ™์€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ๋•Œ๋ฌธ์— ํŽธ์˜์ƒ "๋‚˜๋งŒ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ"๋ฅผ ๋งŒ๋“  ๋А๋‚Œ์ด์ง€.

๋‚˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋ฉด, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ๋จผ์ € ์„ค๊ณ„๋ฅผ ์น˜๋Š”๊ฒŒ ๋งž๋‹ค๊ณ  ๋ด. ๋‚ด๊ฐ€ ์ฒ˜์Œ์— "Rx์ฒ˜๋Ÿผ ๋นŒ๋”ํŒจํ„ด์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ์ง€" ๋ผ๊ณ  ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ. ๊ทธ๋Ÿฐ ์ฝ”๋“œ๋ฅผ ์จ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ฝ”๋“œ๋“ค์„ ๋ผ์›Œ ๋งž์ถ˜๊ฑฐ์ž„.
๋„ˆ๋„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ๊ฑด์ง€์— ๋Œ€ํ•ด ๋จผ์ € ์„ค๊ณ„ํ•ด์•ผ๋œ๋‹ค๊ณ  ๋ด. ๊ทธ ๋‹ค์Œ์—๋‚˜ ๋ ˆ์ด์–ด ๋ถ„๋ฆฌ, ์ฑ…์ž„ ๋ถ„๋ฆฌ๋ฅผ ํ•˜๋Š”๊ฑฐ๊ณ . ๊ทธ๋Ÿฌ๋‹ˆ ๋‚˜์ฒ˜๋Ÿผ ๋˜‘๊ฐ™์ด apply๋ฅผ ์“ฐ์ง€ ์•Š์œผ๋ฉด ์•ˆ๋˜๋Š” ๊ฐœ ์ด์ƒํ•œ ์ฝ”๋“œ๊ฐ€ ๋‚˜์˜ค๋Š”๊ฑฐ์ž„
์ƒ์„ฑ์ž์—” ์ƒ์„ฑ์ž๋Œ€๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„ฃ์–ด์•ผํ•˜๊ณ , ๋˜ send๋ฅผ ๋ณด๋‚ผ ๋• ๋˜ send ๋Œ€๋กœ ํ† ํฐ์„ ๋„ฃ์–ด์•ผํ•˜๊ณ . ๋ฆฌ์Šค๋„ˆ๋Š” ๋˜ ๋ฆฌ์Šค๋„ˆ๋Œ€๋กœ ๋‹ฌ์•„์•ผ๋˜๊ณ .
์‚ฌ์šฉ์ ์ธ ์ธก๋ฉด์—์„œ ์ž˜ ๋ด๋ด. ์ฒ˜์Œ ๋ณด๋Š” ์‚ฌ๋žŒ์ด ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ฌด๋ฆฌ๊ฐ€ ์—†๋Š”๊ฐ€? ๋‚ด ์ฝ”๋“œ๋Š” ์ ์–ด๋„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ฒ˜์Œ ๋ณด๋Š” ์‚ฌ๋žŒ์€ ์ดํ•ด๊ฐ€ ์•ˆ๋ ์ˆ˜๋„ ์žˆ์„๊ฒƒ ๊ฐ™์Œ.
rx๋Š” ๋ณด์…ˆ. ์กด๋‚˜ ์ง๊ด€์ ์ด๊ณ  ์•Œํ ๋‹ค์›€. ๊ทธ๊ฒƒ๋งŒ ๋ด๋„ ๋ชฌ ํ๋ฆ„์ธ์ง€ ์กฐ์ฐจ ์•Œ ์ˆ˜ ์žˆ์Œ.

์•„๋ž˜๋Š” ์˜›๋‚ ์— ๋ถ€์ŠคํŠธ์ฝ”์Šค ํ•  ๋•Œ Request ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ฉ˜ํ† ๋‹˜์˜ ์„ค๋ช…์ด์—ˆ์Œ ์ง€๊ธˆ ๊ธฐ์–ต๋„ ์•ˆ๋‚˜๊ธด ํ•˜์ง€๋งŒ, ๋ญ”๊ฐ€ ๋„ˆ๊ฐ€ Request๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•˜๋Š”๊ฑฐ ๊ฐ™์•„์„œ ๋„์›€์ด ๋ ์ง„ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ฒจ๋ถ€ํ•จ. ์ด๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ Volley ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ณ , Retrofit๊ณผ๋Š” ํ•˜๋“ฑ ์ƒ๊ด€์—†์„ ์ˆ˜๋„ ์žˆ์Œ. ์•„๋งˆ ๋ฉ˜ํ† ๋‹˜์€ ์ง์ ‘ HttpUrlConnection๋“ฑ netty์‚ฌ์šฉํ•ด์„œ ๋ ˆํŠธ๋กœํ• ๊ฐ™์€ ๊ฑธ ๋งŒ๋“ค๊ธธ ๋ฐ”๋ž์„ ์ˆ˜๋„. ๊ทธ๋ž˜๋„ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„“ํ˜€์ค„ ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ์ƒ๊ฐํ•ด์„œ ๋„ฃ์Œ
image

ํ  ์›ํ•˜๋Š” ๋‹ต๋ณ€์ด๋ž‘์€ ์กด๋‚˜ ๋”ด์†Œ๋ฆฌ๋งŒ ํ•ด์„œ ๋„์›€์ด ์•ˆ๋์„ ๊ฑฐ ๊ฐ™์€๋ฐ, ์ด๋Ÿฐ ์‹œ๋„๋“ค์€ ์‹œ๋„ ์ž์ฒด์— ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋ด„. ๊ทธ๋Ÿฌ๋ฉด์„œ ๊ณ ๋ฏผํ•˜๊ณ , ๋˜ ๋‹ค๋ฅธ๊ฑธ ๋งŒ๋“ค์–ด๋ณด๊ณ . ๋ฆฌํŒฉํ„ฐ๋ง ํ•ด๋ณด๊ณ . ์ด๊ฑฐ ์ž์ฒด์— ์˜๋ฏธ๋ฅผ ๋‘์„ธ์š”. ์ €๋Š” ์ฝ”๋ฃจํ‹ด ์“ธ๊ฒ๋‹ˆ๋‹ค ^^

Comment on lines +36 to +39
if (response.isSuccessful) {
onSuccessListener?.invoke(response.body() ?: return)
return
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๋Ÿฌ๋ฉด ํ†ต์‹ ์€ ๋๋Š”๋ฐ 400๋ฒˆ๋Œ€ ์‘๋‹ต์ด๋ผ
body๊ฐ€ null๋กœ ๋“ค์–ด์˜ค๊ณ  errorBody์—์„œ ๊บผ๋‚ด์•ผํ•˜๋Š”๋ฐ, body ?: return ์ด๋ฉด errorbody๊นŒ์ง€ ๊ฐ€์ง€ ๋ชป ๊ฐˆ๋“ฏ
null ์ฒ˜๋ฆฌ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ๊ณ ๋ฏผ์„ ๋งŽ์ดํ•ด์•ผํ•จ. exception ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๊ฒƒ์ธ์ง€ null์ฒ˜๋ฆฌ๋ฅผ ํ•  ๊ฒƒ์ธ์ง€.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์•„ ๋ฌด์นœ ์ •์‹ ์—†์ด ์งœ๋А๋ผ ์ƒ๊ฐ์„ ๋ชปํ–ˆ์—ˆ๋Š”๋ฐ ์—ญ์‹œ ํ˜•๋‹˜ ๊ฐ์‚ฌ... ๋ฌด๋ฆฌํ•œ ๋ถ€ํƒ์— ์ข‹์€ ๋‹ต๋ณ€, ์ข‹์€ ๋ ˆํผ๋Ÿฐ์Šค ๋˜์ ธ์ฃผ๋‹ˆ ๋„ˆ๋ฌด ๊ฐ์‚ฌใ… ใ… 

Comment on lines +45 to +49
private fun createResponseErrorBody(errorBody: String): BaseResponse<Unit> {
val gson = GsonBuilder().create()
val responseType = object : TypeToken<BaseResponse<T>>() {}.type
return gson.fromJson(errorBody, responseType)
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋‚œ ์ด๊ฒŒ ๋ฌด์Šจ ์˜๋ฏธ๊ฐ€ ์žˆ๋‚˜ ์‹ถ์Œ. ์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ๊ฑฐ์ง€๊ฐ™์ด ๋‚ด๊ฐ€ ์ง์ ‘ ์งœ์•ผ๋œ๋‹ค๋Š” ๊ฒƒ์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ณ ๋ ค ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๋ถ€๋ถ„์ธ๋ฐ,
์ด๊ฑด ์—ญ์„ค์ ์œผ๋กœ ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๊ณ„์ž๋“ค์ด errorbody๋ฅผ ํŒŒ์‹ฑํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค ํŒ๋‹จํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•จ.

๋ฐ˜๋Œ€๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ, ํด๋ผ๊ฐ€ ์™œ errorbody๋ฅผ ๋ฐ›์•„์•ผํ•˜๋‚˜? ํŒจํ‚ท์— message๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ž€์ด ์žˆ๋Š”๋ฐ, ๊ฑฐ๊ธฐ์— ๋„ฃ์œผ๋ฉด ์ถฉ๋ถ„ํžˆ ์„œ๋ฒ„๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๋ง์„ ํ•  ์ˆ˜ ์žˆ์„๊ฑฐ๋ผ ์ƒ๊ฐํ•จ. response.message์ด๋Ÿฐ์‹์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์„๊ฑฐ์ž„ ์•„๋งˆ. ๋‚˜๋Š” ๊ฐœ์ธ์ ์œผ๋กœ errorbodyํŒŒ์‹ฑ์— ๋Œ€ํ•ด ๊ต‰์žฅํžˆ ํšŒ์˜์ ์ž„. (๋ณธ์ธ๋„ ์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ์ง  ์ ์ด ๋งŽ์Œ)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋งž์•„ ํ˜• ์ฝ”๋“œ ๋ณด๊ณ  ์‚ฌ์‹ค ๋‚˜๋„ ์ด๋ถ€๋ถ„์— ๋Œ€ํ•œ ํŒŒ์‹ฑ์„ ์ž˜ ๋ชฐ๋ผ์„œ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๊ธด ํ–ˆ๋Š”๋ฐ ์‚ฌ์‹ค ์งœํ”ผ status์ฝ”๋“œ๋Š” ํŒŒ์‹ฑํ•˜์ง€ ์•Š์•„๋„ ์•Œ์ˆ˜ ์žˆ๋‹ค ์ƒ๊ฐํ•ด์„œ ๊ทธ๊ฑฐ์— ๋งž์ถ˜ ์ฒ˜๋ฆฌ๋งŒ ์ ์ ˆํžˆ ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹์„์ง€ ์•„๋‹˜ ์ด๋ ‡๊ฒŒ ์—๋Ÿฌ๋ฐ”๋””๋ฅผ ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„์•ผํ• ์ง€ ์˜์‹ฌ์ธ ๋ถ€๋ถ„์ด ๋งŽ์•˜๋Š”๋ฐ ํ˜• ๋ง์„ ๋“ค์–ด๋ณด๋‹ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๊ณ„์ž๋“ค์ด errorbody๋ฅผ ํŒŒ์‹ฑํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค ํŒ๋‹จ ์ด ๋ง์ด ์™€ ๋‹ฟ๋Š”๊ฑฐ ๊ฐ™์•„ ๊ฐ์‚ฌ๊ฐ์‚ฌ

Comment on lines +27 to +34
fun send(token: String?) {
MeaningService.getInstance()
.requestPostTimestamp(
token = token,
params = createPartMap(),
image = image
).enqueue(callback ?: return)
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์—ฌ๊ธฐ๋„ null์ฒ˜๋ฆฌ ์• ๋งคํ•จ.
์ฝœ๋ฐฑ์„ ๋„ฃ์ง€ ์•Š๊ณ  send๋ฅผ call ํ–ˆ๋‹ค ์น˜์ž. ๊ทธ๋Ÿผ ์•„๋ฌด์ผ๋„ ์•ˆ์ผ์–ด๋‚ ๊ฑฐ์ž„ ์•ฑ์—์„œ๋Š”. ์‹ฌ์ง€์–ด ๋กœ๊ทธ์กฐ์ฐจ ์ฐํžˆ์ง€ ์•Š๊ฒ ์ง€. ๊ทธ๋Ÿผ ๋””๋ฒ„๊น…์„ ์–ด๋””์„œ ๋ถ€ํ„ฐ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒŒ ๋ผ. ์ฐจ๋ผ๋ฆฌ exception์„ ํ„ฐํŠธ๋ฆฌ๋Š”๊ฒŒ ๋‚ซ๋‹ค๊ณ  ๋ด„. ์™œ๋ƒ๋ฉด callback์„ ๋ฐ˜๋“œ์‹œ ๋„ฃ์–ด์•ผํ•˜๊ฒŒ๋” ์„ค๊ณ„๊ฐ€ ๋˜์žˆ๋Š”๊ฑฐ ๊ฐ™๊ฑฐ๋“ .

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋งž์Šต๋‹ˆ๋‹ค ํ–‰๋‹˜... ๊ทธ์ € ๋น›

Comment on lines +23 to +25
fun onSuccessListener(listener: ((BaseResponse<T>) -> Unit)) {
this.onSuccessListener = listener
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋‚˜๋ผ๋ฉด setOn...Listener๋ผ๊ณ  ์ง€์„๋“ฏ

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋‚˜๋„ ์ฒจ์— setOn์„ ๊ณ ๋ คํ–ˆ๊ณ  ํ˜•์ด ์˜ฌ๋ ค์ค€ Rx์ฒ˜๋Ÿผ ํ•ด๋ณด๊ธฐ ์œ„ํ•จ์ด์—ˆ๋Š”๋ฐ ๋นŒ๋”๋กœ๋„ ๋งŒ๋“ค์–ด๋ดค์œผ๋‚˜ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ
"์ด๋ ‡๊ฒŒ ๋งŒ๋“ค๊บผ๋ฉด ๋นŒ๋” ํŒจํ„ด์ด ํ•„์š”ํ• ๊นŒ?" ๋ž€ ์ƒ๊ฐ๊ณผ ๋นŒ๋” ํŒจํ„ด์˜ ๋ญ์‹œ๊ธฐ๋Š” ์‹น๋‹ค ๋ฌด์‹œํ•˜๊ณ  ๊ทธ๋ƒฅ ์–ต์ง€๋กœ ๋ถ™์—ฌ๋„ฃ๋Š” ์ฝ”๋“œ๊ฐ€ ๋˜์–ด๊ฐ€์„œ apply setOn๋ณด๋‹ค๋Š” SetEvent on~~ ๊ฐ€ ์ ์ ˆํ•˜๋‹ค ์ƒ๊ฐํ–ˆ๋Š”๋ฐ

ํ”ผ๋“œ๋ฐฑ ๋„ˆ๋ฌด ์ž˜ ์ฝ์—ˆ๊ณ  ํ•ญ์ƒ ๋„ˆ๋ฌด ๊ฐ์‚ฌ...ใ… ใ… 
๋ฐ”๋น  ์ฃฝ์–ด๊ฐˆํƒ ๋ฐ ๋ฌด๋ฆฌํ•œ ๋ถ€ํƒ ๋“ค์–ด์ค˜์„œ ๋„ˆ๋ฌด ๊ณ ๋ง™๊ณ  ์ง„์งœ ์–ธ์  ๊ฐ„ ํฌ๊ฒŒ ์„ฑ์žฅํ•ด์„œ ํฌ๊ฒŒ ํ•œ๋ฒˆ ๊ฐš์„๊ป˜

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ทธ๋ž˜๊ทธ๋ž˜ ํฌ๊ฒŒ ๋„ค์ด๋ฒ„ ๊ฝ‚๋Š”๊ฑธ๋กœ ๊ฐš์•„๋ผ

@jinsu4755 jinsu4755 self-assigned this Jan 17, 2021
@jinsu4755 jinsu4755 added P 3๏ธโƒฃ ์šฐ์„  ์ˆœ์œ„ 3 question Further information is requested ์ง„์ˆ˜๐Ÿฆ‚ ๋‹ด์žฅ์ž:์ง„์ˆ˜ ๐ŸŽดAndromeaning Part : Andromeaning labels Jan 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

๐ŸŽดAndromeaning Part : Andromeaning P 3๏ธโƒฃ ์šฐ์„  ์ˆœ์œ„ 3 question Further information is requested ์ง„์ˆ˜๐Ÿฆ‚ ๋‹ด์žฅ์ž:์ง„์ˆ˜

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants