Spring Boot로 REST API 만들어보기 (8) 버그 잡기
Intro 제출 전에 시간이 좀 남아서, 버그들을 수정하려고 합니다. 특정 게시물 조회 시 Query String이 붙은 경우 403(Forbidden) 반환 상황 아래와 같이 특정 게시물을 조회하는 URL 을 입력하면 403(Forbidden)이 발생하는 문제가 있습니다. http://localhost/api/v1/posts/13?si...
Intro 제출 전에 시간이 좀 남아서, 버그들을 수정하려고 합니다. 특정 게시물 조회 시 Query String이 붙은 경우 403(Forbidden) 반환 상황 아래와 같이 특정 게시물을 조회하는 URL 을 입력하면 403(Forbidden)이 발생하는 문제가 있습니다. http://localhost/api/v1/posts/13?si...
Intro 일곱 가지 과제를 모두 완성은 했는데, 중복 이메일로 회원가입 하면 500(Internal Server Error) 뜨는게 너무 보기 싫어서 추가 수정합니다. 요구사항 요구사항은 제가 만들어야겠습니다. 중복 이메일로 회원가입 시 클라이언트에 중복된 이메일임을 알려주세요. 이정도로 정리할 수 있겠습니다. 중복 이메일 회원가입...
Intro 게시물 수정(링크)을 마쳤고, 다음은 삭제입니다. 드디어 기능은 마지막입니다. 요구사항 과제 7. 특정 게시글을 삭제하는 엔드포인트 게시글의 ID를 받아 해당 게시글을 삭제하는 엔드포인트를 구현해 주세요. 게시글을 삭제할 수 있는 사용자는 게시글 작성자만이어야 합니다. 게시글 수정과 거의 비슷하지만, 게시물 제목과 내용의...
Intro 이제 수정과 삭제, 2개의 과제가 남았습니다. 하지만, 문서화하고 가산점용 과제들 하는데 시간이 꽤나 걸릴 것 같습니다. 그럼 게시물 조회(링크)에 이이서 특정 게시물 수정 과제를 진행해보겠습니다. 요구사항 과제 6. 특정 게시글을 수정하는 엔드포인트 게시글의 ID와 수정 내용을 받아 해당 게시글을 수정하는 엔드포인트를 구현해...
Intro 게시글 목록까지 받아왔고(링크), 다음 과제로 넘어갑니다. 요구사항 과제 5. 특정 게시글을 조회하는 엔드포인트 게시글의 ID를 받아 해당 게시글을 조회하는 엔드포인트를 구현해 주세요. 게시글의 ID를 받을 방법은 게시물 생성 시에 Location 헤더를 통해 받거나, 게시글 목록 조회를 통해서 게시글의 ID를 받을 수 있습...
Intro 게시글 생성(링크)을 완료했고, 다음 과제로 넘어갑니다. 가산점을 받는 마지막 날이 되니 아쉬운 느낌도 듭니다. 요구사항 과제 4. 게시글 목록을 조회하는 엔드포인트 반드시 Pagination 기능을 구현해 주세요. 페이지(page) 번호와 한 페이지에 담길 게시물의 갯수(size)를 쿼리 파라미터(query paramete...
Intro 이전에는 로그인 엔드포인트를 추가(글 링크)하였습니다. 이어서 다음 과제를 수행합니다. 역시나 이 글도 난장판이 될 예정이고, 생각해보니 코드 링크를 걸기는했지만 코드도 난장판인 것 같습니다. 그래도 글 보다 보기 편하지 않을까… 싶은…? 요구사항 과제 3. 새로운 게시글을 생성하는 엔드포인트 이번에는 특별히 요구되는 사항은 없습니...
Intro Spring Security 를 공부하면서 Contribution 을 해보고 싶다는 생각이 들어서 약 한 달전에 처음으로 PR(Pull Request)를 올렸었는데 한국 시간 기준으로는 어제 드디어 merge가 됐습니다. 코드 가독성 개선을 위한 PR(링크)과 공식 문서 링크 수정한 PR(링크1, 링크2)을 올렸습니다. 문서 링크 수정한...
Intro JWT가 어떻게 생겼는지 살펴봤으니(링크), 이어서 로그인 과제를 구현해 봐야겠습니다. 요구사항부터 다시 봐야겠습니다. 역시나 글은 난장판이므로, 코드가 필요하신 분은 Github(링크)을 참고해 주세요. 요구사항 과제 2. 사용자 로그인 엔드포인트 사용자가 올바른 이메일과 비밀번호를 제공하면, 사용자 인증을 거친 후에 JWT...
Intro 이전에 원티드 프리 온보딩 과제로 회원가입 기능을 만들면서 글(링크)을 작성했었습니다. 이어서 로그인 기능을 만들면서 과정을 작성해보려 했는데… JWT 찾아보다가 글이 너무 길어져서 JWT 글이 됐습니다. 요구사항 먼저 이번에 구현할 로그인 요구사항을 살펴보겠습니다. 과제 2. 사용자 로그인 엔드포인트 사용자가 올바른 이메일과...