본문 바로가기

전체 글

(14)
Vapor - 로그인 구현하기 이전 글에서 라우팅로직을 간단하게 보고 간단한 JSON Response를 반환하도록 했다. 이번 글에서는 이메일 + 패스워드로 로그인이 가능하도록 하자. 목표 1. 로그인 전용 API 생성하기 - path: api/user/signIn으로 설정한 후 POST Method로 id(이메일), 패스워드를 전달받도록 함 2. email, password validation - 입력한 아이디가 이메일 형식에 맞는지, 패스워드가 최소 길이를 충족하는지에 대한 유효성 검사 수행 - CommonError 구성하기(response 에서 throw 하기 위함) 3. 적절한 Response 반환 - 유효성 검사 및 아이디, 패스워드로 로그인 성공 여부에 따라 적절한 응답 내려주기 - 기본 리스폰스(성공/실패)에 대한 틀 만..
Vapor - Routing + JSON Response 이번 글에서는 Vapor에서 다루는 Routing에 대해서 다뤄보고자 한다. 그리고 어쨌든 앱에서 받아야 할 데이터는 JSON형식의 데이터를 받아야 하니까 기본 JSON Response를 반환하는 것을 목표로 해보고자 한다. HTTP Request를 보낼 때는 여러 Method를 이용하여 보내게 된다. 크게 GET, POST, PUT, PATCH, DELETE 등이 존재한다. 일반적으로 해당 요청을 통해 수행하게 될 CRUD(Create, Read, Update, Delete) 작업에 따라 적절한 Method를 골라서 사용하면 된다. 당연히 Vapor에서도 이러한 기능을 제공하고 있다고 한다. 이번 글에서는 당장 데이터를 처리(생성 삭제 수정 등)할 게 없으니 GET 리퀘스트만을 날려보고 Response..
Vapor - 프로젝트 기본 구성 직전 글에서 hello 프로젝트를 생성 및 실행하여 http://127.0.0.1:8080에 접속하여 작성한 적 없는 "It works!" 문구가 출력된 것을 보았다. 실제 프로젝트를 통한 작업에 들어 기기 전 프로젝트가 어떻게 구성되어 있는지를 먼저 살펴보자 일단 Public, Sources, Tests 그리고 docker파일 해결된 패키지 등으로 구성되어 있다. 정확히 각 디렉터리의 파일들이 어떤 역할을 수행하는지 모르니 공식 문서를 살펴보도록 하자. Public 퍼블릭 디렉토리는 프로젝트에서 FileMiddleware가 활성화되어있을 때 앱 내에서 제공될 수 있는 파일들이 위치한다고 한다. 일반적으로 이미지, 스타일 시트, 브라우저 스크립트 등 웹페이지에서 표시되어야 할 스크립트 및 리소스들이 이 ..