Android에서 서버(Sprint Boot)로 API 호출을 할 때는 주로 Retrofit, OkHttp 등을 사용해서 통신함
Spring Boot는 서버에서 JSON을 응답하거나 요청받을 때 Jackson 같은 JSON 라이브러리를 사용함
중요한 건 양쪽이 같은 규격(JSON 포맷) 을 맞춰줘야 함
→ 예를 들어, 서버가 필드를 snake_case
로 주는데 앱에서는 camelCase
를 기대하면 에러 발생
해결법:
예시
data class LoginResponse(
val userId: String,
val userName: String
)
서버 응답 JSON
{
"userId": "abc123",
"userName": "John"
}
@RestController
쓰면서 응답을 JSON으로 줄 때는 Jackson 라이브러리(com.fasterxml.jackson
)를 쓰게 될 거임camelCase
**라서 Kotlin이랑 잘 맞음만약 서버(Spring Boot)를 HTTPS로 안 열어놓으면, Android 9 (Pie, API 28) 이상에서는 http 통신이 기본 차단 됨
→ 앱이 서버에 연결할 때 에러(예: Cleartext HTTP traffic not permitted
) 발생