이번 포스트는
- 안드로이드 앱: 상품 등록 MVVM 클래스 구성4
신규작업소스(스프링부트API): https://github.com/kimilguk/shop-api
신규작업소스(안드로이드앱): https://github.com/kimilguk/shop-app
## 상품 등록 MVVM 클래스 구성(아래순서)
### 상품 등록 MVVM 클래스 구성4(권한)
- ApiTokenInterceptor.kt 추가: 스프링부트API로 보내는 전송헤더에 토큰값을 추가하는 클래스
- TokenRefreshInterceptor.kt 추가: 토큰갱신 요청 전에 refreshToken 을 추가하고
-- 토큰갱신 요청의 응답 코드가 401(권한없음)인 경우 로그인 화면으로 이동시켜주는 클래스
- ApiGenerator.kt 수정: 토큰갱신요청 API 인터셉터(가로채기) 추가
- TokenRefreshApi.kt 추가: 스프링부트API 리프레시 토큰 기능에 접근하는 인터페이스
- TokenAuthenticator.kt 추가: 스프링부트API 응답코드가 401(권한없음)인 경우
-- SharedPreferences객체에 저장된 refreshToken정보로 토큰갱신 후 새 request 반환
- ApiGenerator.kt 수정: 모든 httpClient()에 토큰갱신이 필요할 때 인증함수에 토큰인증 클래스를 추가
### 상품 등록 MVVM 클래스 구성3(UI)
- ShopApi.kt 수정: 스프링부트의 ProductApiController 와 매칭되는 상품등록경로추가
- ProductCreateViewModel.kt 수정: 상품등록 비지니스 로직함수 시작
- ProductCreateActivityUI.kt 수정: 상품등록 UI 추가.
### 상품 등록 MVVM 클래스 구성2(기본MVVM틀) 순서
- ProductCreateViewModel.kt 추가: 초기 빈 클래스 제작
- ProductCreateActivity.kt 추가: 액션바 코딩만 추가(AndroidManifest에 액션바 테마추가)
- ProductCreateActivityUI.kt 추가: 초기 레이아웃만 구성 후 액티비티.kt에서 디자인 UI와 매칭 추가
### 상품 등록 MVVM 클래스 구성1(VO): 뷰모델에서 데이터와 바인딩 처리
- CategoryVO.kt: 상품카테고리는 숫자이고, 숫자와 매칭되는 카테고리명을 가지는 데이터클래스
- ProductCreateVO.kt: 스프링부트 API 와 입출력시 데이터를 임시 저장한다.
이렇게 해서 코틀린기반 스프링부트API + 안드로이드앱 + 로그인인증 까지 기본틀 작업해 보았습니다.
다음 시간부터는 위 틀을 기반으로 상품CRUD 를 완성하도록 하겠습니다.(지금은 Create 만 되는 상태)
이후 다양한 기능을 활용(검색, 페이징, 사진파일-앱->API 업로드 및 API->앱 출력)하는 코딩이 이어집니다.^^
코틀린 프로젝트16 (0) | 2022.05.30 |
---|---|
코틀린 프로젝트15 (0) | 2022.04.04 |
코들린 프로젝트13 (0) | 2022.04.02 |
코틀린 프로젝트12 (0) | 2022.03.31 |
코틀린 프로젝트11 (0) | 2022.03.30 |
댓글 영역