Category: Project

RestDocs의 Custom Snippet으로 에러코드 쉽게 문서화하기

배경RestDocs로 테스트를 통과한 API에 대해서 문서화를 할 수 있다.우리 프로젝트에서는 정상 요청 흐름을 중점으로 API 문서화했다.하지만 해당 API에서 발생 가능한 애외 상황에 대한 응답도 정리해줘야 했다.그래서 우리는 백엔드 단에서 발생하는 예외에 매핑되는 예외 코드를 만들어서 예외 상황 발생 시 해당 예외 코드를 바디에 담아서 반환하도록 해서

19.[블로그 프로젝트] 인덱스 글목록 페이징

서비스 구현 - 컨트롤러 연결 - jsp 수정 BoardService 수정하기123456789101112import java.util.List;//스프링이 컴포넌트 스캔을 통해서 Bean에 자동 등록. IoC를 해줌@Servicepublic class BoardService { @Autowired private BoardRepositor

17.[블로그 프로젝트] 글쓰기 구현

BoardControllerBoardController에 글쓰기 버튼을 눌렀을때 분기처리 메소드를 만들자. 12345//USER 권한 필요@GetMapping("/board/saveForm")public String saveForm(){ return "board/saveForm";} 화면 구성그리

16.[블로그 프로젝트] 스프링 시큐리티 로그인

시큐리티는 로그인 요청을 가로채간다.우리는 회원가입에 필요한 joinProc uri를 UserApiController에 정의했었다.그러나 로그인에 필요한 메서드는 만들지 않는다.왜? 시큐리티가 가로채가서 로그인을 실행하기 때문. SecurityConfigure 수정이제 로그인을 시큐리티가 실행할 수 있게 수정해보자. 1234567891011121314151

15.[블로그 프로젝트] 비밀번호 해쉬화 해서 회원가입

시큐리티는 어떤 원리로 작동할까?스프링에서 로그인 요청을 하면 시큐리티가 이를 지켜보다가username과 password를 가로채간다.시큐리티는 가로챈 username과 password로 로그인을 진행시키고,시큐리티 세션에 해당 유저 정보 객체를 저장하고, DI하여 사용하도록 한다.(이때, 세션에 저장된 유저 정보는 UserDetails 객체다.) 그러면

14.[블로그 프로젝트] 스프링 시큐리티 체험, 로그인 페이지 커스터마이징

Spring starter security일단 스프링 시큐리티를 이용하기 위해 pom.xml에 있는 관련 dependency를 모두 주석해제하자.그리고 전통적 방식 로그인 메서드를 주석처리하고 다시 사이트에 들어가려면…이렇게 시큐리티가 로그인 화면을 띄우게 된다. 이렇게 Spring starter security는 진입할 때 로그인 정보를 입력하도록 한다!

13.[블로그 프로젝트] 전통적인 로그인 구현

loginForm.jsp회원가입을 구현했던 것과 비슷하게 진행한다.loginForm.jsp에서 button 태그를 form 밖으로 빼고, 스크립트 태그를 추가해 user.js를 읽을 수 있게 했다. 123456789101112131415161718192021222324<%@ page contentType="text/html;charset=UT

11.[블로그 프로젝트] 로그인, 회원가입 화면 만들기

템플릿 구성하기우리 블로그에서 모든 페이지에서 푸터가 동일하게 적용될 수 있도록 템플릿을 구성해보자.스크립트 태그를 바디가 끝나는 태그 바로 위에 두자.(다른방식도 있으니 유의하자.)views 폴더 안에 layout 폴더를 만들고, footer.jsp, header.jsp를 만들자. 그리고 index.jsp에서 헤더에 해당하는 부분을 header.jsp로

10.[블로그 프로젝트] 부트스트랩으로 메인화면 만들기

웹 UI를 구현할 때, 굳이 html, css를 모두 구현할 필요가 없다.Bootstrap이나 Materialize를 통해서 쉽게 구현할 수 있다. 우리는 w3school에서 bootstrap4의 collapsing the navigation bar의 코드를 복사한다. 이렇게 프로젝트 구조를 만들어서 index.jsp에 우리가 아까 복사한 내용을 덮어쓰운