인턴일지
인턴 Day18 (Android, Spring 연동 (retrofit2) / WebView)
Calice
2022. 5. 13. 17:40
0. Day17
- 배운 것
1. Android, Spring 연동 (retrofit2)
인턴 초기에 만든 웹 사이트를 어플로 만들어야 한다는 이야기를 듣고 코틀린 공부를 짧게 하고 안드로이드 스튜디오를 설치했다. 로그인과 회원가입 뷰를 만드는건 어렵지 않았고, 입력받은 로그인 정보를 확인하는 과정에서 웹서버를 거쳐야 하는데 그 과정에서 retrofit을 사용했다.
1. Android, Spring 연동 (retrofit2)
- 참고 사이트 https://koharinn.tistory.com/581
[Spring] Android, Spring 연동 (retrofit2)
Retrofit Server와 Client 사이 http 통신을 위한 라이브러리 HttpClient, Volley, Okhttp 등 라이브러리가 있었지만 HttpClient, Volley는 deprecated되었고, Okhttp를 더 쉽게 사용하도록 한 것이 retrofit이다...
koharinn.tistory.com
//안드로이드
object RetrofitBuilder {
var api: API
init{
val retrofit = Retrofit.Builder()
.baseUrl("요청 보내는 API 서버 url. /로 끝나야 함함")
.addConverterFactory(GsonConverterFactory.create()) // Gson을 역직렬화
.build()
api = retrofit.create(API::class.java)
}
}
//스프링 controller
@PostMapping(value="android")
@ResponseBody
public String androidResponse(@RequestBody MemberDTO dto, Model model, HttpSession session) {
MemberDTO result=memberService.loginUser(dto);
String re="";
if(null == result){
model.addAttribute("message","ID나 PW가 틀립니다.");
model.addAttribute("memberDTO",null);
re= "실패";
}else{
session.setAttribute("loginName", result.getUsername());
session.setAttribute("loginId", result.getUserid());
session.setAttribute("memberDTO", result);
System.out.println(session);
model.addAttribute("memberDTO",result);
re= "성공";
}
System.out.println(re);
return re;
}


- 스프링으로 기존에 만들어두었던 로그인 체크 로직을 불러와 확인하는 과정을 거쳤다.
- 이미 존재하는 아이디 비번을 넣었을 때 controller에서 로직이 잘 작동하면 성공을 리턴해주기로 함.
- 하지만 이 방법은 매번 웹서버에 체크체크체크 하면서 속도 저하의 이유로 사용하지 않고 그냥 웹뷰로 하기로 했다.
- 웹뷰에 대한 영상 https://www.youtube.com/watch?v=S4kd9OPzcf0