[Android]안드로이드 SPRING DB연동(Retrofit2)
Retrofit2을 사용하는법은 건너뛰고 안드로이드에서 회원가입을 해서 SPRING 을 통해서 DB에 값을 넣기위한 동작을 하겠습니다.
일단 안드로이드에ㅅ 회원정보데이터를 입력후 데이터를 넣을 DTO 클래스를 만들어줍니다.
그리고 회원가입 Activity에서 아래와 같이 EditText에 정보를 다 입력 후 회원가입 버튼을 누르면 아래의 코드가 실행됩니다.
EditText에 입력한 값들을 dto객체에 set메서드를 통해 데이터를 저장합니다.
그리고 Gson을 이용해서 데이터를 보낼건데 먼저 Gradle에 가서 밑 사진의 두개의 dependency를 추가합니다.
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
implementation 'com.google.code.gson:gson:2.3'
추가 후 주석에 있는 것 처럼 Gson객체를 선언해 주고 Spring에 Json형식으로 보내주기 위해 dto 객체를 gson객체의 메서드인 toJson에 넣어줍니다.
apiService에 정의되어있는 goPost메서드에 objJson(json형식데이터를 넘겨줍니다.) 그러면 apiService에서 goPost메서드에 들어와 objJson을 들고
POST방식으로 매핑된 주소가 'signup'인 Spring 의 Controller에 있는 주소로 접근합니다.
(위 사진은 apiService 인터페이스에 정의되어있는 코드입니다.)
그럼 Spring에서 Json형식으로 받읍시다.
Spring에서도 Gson라이브러리를 사용하면 dependendy를 추가해야합니다.
pom.xml에
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
를 추가합니다.
그리고 Controller에 가서 RequestMapping을 아래와 같이 해줍니다.
signUp메서드의 매개변수는 Json형식을 String으로 받습니다.
그 후 안드로이드와 똑같이 Gson에 있는 메서드를 사용하기 위해 객체를 만든 후
Json형식을 객체형식으로 변환해줍니다.
그리고 Service객체의 signup메서드에 dto객체를 줍니다.
service -> dao -> mapper.xml에서 데이터 처리를 합니다.
INSERT를 하였으니 1개의 row가 추가되었으니 1이 return 됩니다.
데이터도 성공적으로 들어가있습니다.
'Android' 카테고리의 다른 글
[Android] Failed to load AppCompat ActionBar with unknown error 오류 / 레이아웃이 안보이는 경우 (0) | 2018.07.26 |
---|