From 21ba2c8febe7bf7afe38ce7b62932f024c07f285 Mon Sep 17 00:00:00 2001 From: Yu Jin Date: Sat, 28 Feb 2026 02:41:21 +0900 Subject: [PATCH 1/2] fix: ignore unknown JSON keys in serialization Enable ignoreUnknownKeys in Retrofit Json to prevent crashes when backend adds new fields (e.g., departmentId/collegeId in mypage response). --- app/src/main/java/com/eatssu/android/di/NetworkModule.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/eatssu/android/di/NetworkModule.kt b/app/src/main/java/com/eatssu/android/di/NetworkModule.kt index b434a2da0..da0d719ae 100644 --- a/app/src/main/java/com/eatssu/android/di/NetworkModule.kt +++ b/app/src/main/java/com/eatssu/android/di/NetworkModule.kt @@ -55,6 +55,7 @@ object NetworkModule { @Singleton @Provides fun provideJson(): Json = Json { + ignoreUnknownKeys = true } // 토큰이 필요한 okhttpClient From e7dfc9650519ab564a058f6162038177c633a721 Mon Sep 17 00:00:00 2001 From: Yu Jin Date: Sat, 28 Feb 2026 02:45:45 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EB=A7=88=EC=9D=B4=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20dto=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../remote/dto/response/MyNickNameResponse.kt | 10 ---------- .../data/remote/dto/response/MyPageResponse.kt | 15 +++++++++++++++ .../android/data/remote/service/UserService.kt | 4 ++-- 3 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 app/src/main/java/com/eatssu/android/data/remote/dto/response/MyNickNameResponse.kt create mode 100644 app/src/main/java/com/eatssu/android/data/remote/dto/response/MyPageResponse.kt diff --git a/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyNickNameResponse.kt b/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyNickNameResponse.kt deleted file mode 100644 index 086e5f9e3..000000000 --- a/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyNickNameResponse.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.eatssu.android.data.remote.dto.response - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class MyNickNameResponse( - @SerialName("nickname") val nickname: String? = null, - @SerialName("provider") val provider: String? = null, -) diff --git a/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyPageResponse.kt b/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyPageResponse.kt new file mode 100644 index 000000000..548e03e27 --- /dev/null +++ b/app/src/main/java/com/eatssu/android/data/remote/dto/response/MyPageResponse.kt @@ -0,0 +1,15 @@ +package com.eatssu.android.data.remote.dto.response + +import com.eatssu.common.enums.Provider +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class MyPageResponse( + @SerialName("nickname") val nickname: String? = null, + @SerialName("provider") val provider: Provider? = null, + @SerialName("departmentId") val departmentId: Long? = null, + @SerialName("departmentName") val departmentName: String? = null, + @SerialName("collegeId") val collegeId: Long? = null, + @SerialName("collegeName") val collegeName: String? = null, +) diff --git a/app/src/main/java/com/eatssu/android/data/remote/service/UserService.kt b/app/src/main/java/com/eatssu/android/data/remote/service/UserService.kt index 311a4cbb2..509c697bc 100644 --- a/app/src/main/java/com/eatssu/android/data/remote/service/UserService.kt +++ b/app/src/main/java/com/eatssu/android/data/remote/service/UserService.kt @@ -5,7 +5,7 @@ import com.eatssu.android.data.remote.dto.request.ChangeNicknameRequest import com.eatssu.android.data.remote.dto.request.UserDepartmentRequest import com.eatssu.android.data.remote.dto.response.CollegeResponse import com.eatssu.android.data.remote.dto.response.DepartmentResponse -import com.eatssu.android.data.remote.dto.response.MyNickNameResponse +import com.eatssu.android.data.remote.dto.response.MyPageResponse import com.eatssu.android.data.remote.dto.response.PartnershipResponse import com.eatssu.android.data.remote.dto.response.UserCollegeDepartmentResponse import retrofit2.http.Body @@ -28,7 +28,7 @@ interface UserService { ): ApiResult @GET("users/mypage") //내 정보 모아보기 - suspend fun getMyInfo(): ApiResult + suspend fun getMyInfo(): ApiResult @DELETE("users") //유저 탈퇴 suspend fun signOut(): ApiResult