상세 컨텐츠

본문 제목

코틀린 프로젝트14

JSP·자바·코틀린

by 김일국 2022. 4. 3. 17:21

본문

이번 포스트는

- 안드로이드 앱:  상품 등록 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전송시 로그인으로 인증된 토큰값까지 포함해서 전송한다.(위)
상품등록 성공(위)
h2 데이터베이스에 상품이 등록된 결과(위)

이렇게 해서 코틀린기반 스프링부트API + 안드로이드앱 + 로그인인증 까지 기본틀 작업해 보았습니다.

다음 시간부터는 위 틀을 기반으로 상품CRUD 를 완성하도록 하겠습니다.(지금은 Create 만 되는 상태)

이후 다양한 기능을 활용(검색, 페이징, 사진파일-앱->API 업로드 및 API->앱 출력)하는 코딩이 이어집니다.^^

'JSP·자바·코틀린' 카테고리의 다른 글

코틀린 프로젝트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

관련글 더보기

댓글 영역