๐ฑ dreaming DiNO
[Kotlin] [์๋ฌํด๊ฒฐ] Retrofit (๋ ํธ๋กํ) post ๋ฐฉ์ Content-Type ํ์ธ ๋ณธ๋ฌธ
[Kotlin] [์๋ฌํด๊ฒฐ] Retrofit (๋ ํธ๋กํ) post ๋ฐฉ์ Content-Type ํ์ธ
MK_____ 2023. 3. 16. 10:59๋ฌธ์ ๋ฐ์
Postman ๋ api ๊ฐ ์ ๋๋ค. iOS๋ ์ ๋๋ค.
๊ทผ๋ฐ ๋๋ง ์๋๋ค.
Okhttp log๋ฅผ ๋ณด๋ ์๊พธ 500 Error ๊ฐ ๋จ์ด์ก๋ค.
ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ชป๋ด์ ๋ณด๋ผ ๋๋ ์ ๋ฌ๋๋ฐ, ์ํผ ๋ค ๋๋๋ฐ ๋๋ง ์๋๋๊ฑฐ๋ฉด ๋ ํธ๋กํ์ผ๋ก ๋ณด๋ผ ๋์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ด๋ค.

Content-Type : application/json; charset=UTF-8 ์ด ๋ฌธ์ ์๋ค.
์์ ํ๋ก์ ํธ POST ๋ฐฉ์๊ณผ ๋น๊ตํด๋ณด๋,
์์ ๋ช ์์ ์ผ๋ก Content-Type ์ application/json ์ผ๋ก ๋ฃ์ด์ ๋ณด๋ด์ฃผ์๋ค.
@Hearders ๋ฏธ์ ๋ ฅ
-> POST http://1.214.117.218:8888/login 2023-03-16 09:55:51.843 30434-30520 I/okhttp.OkHttpClient: Content-Type: application/json; charset=UTF-8 2023-03-16 09:55:51.843 30434-30520 I/okhttp.OkHttpClient: Content-Length: 51 2023-03-16 09:55:51.843 30434-30520 I/okhttp.OkHttpClient: {"email":"a@abc.com","pwd":"1234","vender":"email"} 2023-03-16 09:55:51.843 30434-30520 I/okhttp.OkHttpClient: --> END POST (51-byte body)
@Hearders ์ ๋ ฅ
-> POST http://1.214.117.218:8888/login 2023-03-16 09:56:34.874 30562-30621 I/okhttp.OkHttpClient: Content-Type: application/json 2023-03-16 09:56:34.874 30562-30621 I/okhttp.OkHttpClient: Content-Length: 51 2023-03-16 09:56:34.874 30562-30621 I/okhttp.OkHttpClient: {"email":"a@abc.com","pwd":"1234","vender":"email"} 2023-03-16 09:56:34.874 30562-30621 I/okhttp.OkHttpClient: --> END POST (51-byte body)
Retrofit post ๋ฐฉ์์ @Hearders ์๋ต์,
๊ธฐ๋ณธ์ผ๋ก Content-Type : application/json; charset=UTF-8 ๋ก ๋ณด๋ด๋ ๊ฒ์ ํ์ธํ์๋ค!
๋ฌธ์ ํด๊ฒฐ
http ์๋ต์ ๋ฐ๋ ๊ณณ์์ charset=UTF-8๋ ๋ฐ๋๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด ๋ฌธ์ ์์ด ๊ฐ๊ฒ ์ง๋ง,
ํ์ฌ๋ Only Content-Type : application/json ๋ก๋ง ๋ฐ์์ผ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋๋ก ๋์ด์๋ค๊ณ ๋์ด ์์ด ๋ช ์์ ์ผ๋ก ๊ธฐ์ฌํ๋๋ก ์์ ํ์๋ค.
@Headers("Content-Type: application/json") // ์ถ๊ฐ
@POST("login")
suspend fun login(@Body reqEmailPwData: RequestEmailPwData): Result<RemoteDefaultData>