Spring Boot: study.diary swagger 연동 (API 테스트 목적)

swagger 란 Restful API 의 문서화, 테스트 도구인데, 시각적으로 테스트할 수 있는 UI 를 제공하고 있기 때문에아주 유용하지. swagger 가 적용되면 대충 이런 모습의 UI 화면을 사용할 수가 있어. 이번 포스트에서는 API 테스트를 목적으로 diary 프로젝트에 swagger 를 연동해보려고 해. swagger 와 연동하기 위해서는 build.gradle 에 dependency 를 추가해 주어야 해. swagger UI 화면은 http://{ipaddress}:{port}/swagger-ui.html … Read more

Spring Boot: study.diary 메일 발송 기능

diary 프로그램에 메일 발송 기능을 추가해보려고 해. Spring Boot 에서 메일발송 기능을 구현하려면 아래 dependency 를 추가해 주어야 해. 메일발송이 필요할 때 사용할 설정을 Bean 으로 만들어 사용하도록 할 생각이야. @Configuration 애노테이션을 붙여서 SendMailConfig 클래스를 아래와 같이 작성했어. 위 클래스를 작성하다가 실수한게 있었는데, @Value 애노테이션을 사용하기 위해서 import 한 패키지명이야. 아무생각없이 앞에 나온 lombok 을 … Read more

Spring Boot: study.diary 접근보안 (feat. Postman)

Spring Boot 를 이용해서 학습차원에서 개발해보고 있는 diary 프로그램이 프로그램으로서의 기본 골격은 갖추었다고 생각했어. 그런데, A 라는 사용자가 로그인해서 B 사용자가 작성한 일기를 볼 수 있다거나, 편집할 수 있는 허점이 있어. 그리고 일단 사용자로 등록한 후에 비밀번호를 변경하는 작업 역시 불가능한 상태야. 이런 보안상 허점이라거나 미진한 기능들을 한꺼번에 모아서 처리해볼께. 일기 작성자 확인하기 사용자를 한 … Read more

Spring Boot: study.diary : 로그인정보 조회

diary 프로그램은 회원가입 기능이 완료되었다. 로그인 기능이 완료되었다. 이제 로그인해서 일기를 쓸 때 로그인정보를 가져와서 해당 일기의 주인을 표시하는 기능을 구현해야 한다. 로그인한 사용자의 정보는 아래 코드를 통해서 가져올 수가 있다. 위 코드로 구해지는 값을 테스트하기 위해서 DiaryService 의 테스트 클래스를 작성해볼께. createDiary 테스트 함수에 붙인 @WithMockUser 애노테이션은 Spring Security 로 작성한 프로젝트에서 인증된 정보를 … Read more

Spring Boot: study.diary 멤버 가입

데이터베이스에 사용자 테이블 member 를 추가 일기데이터 테이블(diary) 에도 누가 작성한 일기인지를 알 수 있도록 email 컬럼을 추가 Member 클래스에 멤버를 추가 Diary 클래스에도 멤버를 추가 member 테이블에 대한 기본적인 CRUD 매퍼를 작성 member 에 대한 매퍼 인터페이스 작성 매퍼 환경(mybatis-config.xml) 수정 member 테이블과 Member 에 대한 매퍼 인터페이스가 만들어졌으니 LoginService 의 loadUserByUsername 에 작성해두었던 … Read more