회사 동료들이랑 프로젝트 시작! 개발 환경은 Spring Boot X React로 오랜만에 스프링부트 환경 세팅 중. 다음 회의 까지 각자 맡은 기능 api 정리하기로 해서 스웨거를 적용해보았다. Swagger란 REST API 웹 서비스를 설계, 빌드, 문서화해주는 오픈 소스 소프트웨어 프레임워크. API 명세, 관리, 테스트 가능 SpringBoot Swagger 적용법 스프링부트 스웨거 라이브러리는 springfox, springdoc 2가지가 대표적인 것 같았는데 나는 springdoc을 적용했다. 1. 의존성 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0' 2. SwaggerConfig.java 스웨거 설정 정보 ..
회사에서 엑셀 다운로드 개발 업무를 맡게 됐는데 기존 소스 로직은 페이징 처리된 부분은 1페이지만 다운이 되서 전체 row를 추출하기 위해 SheetJS 라이브러리를 사용하게 됐다. 결론적으론... 이 라이브러리를 사용 안 하기로 했지만 덕분에 스터디를 했기 때문에 기록해 본다. SheetJS 란? Javascript 클라이언트단에서 엑셀 다운로드 구현 시 사용되는 라이브러리 https://docs.sheetjs.com/ SheetJS Community Edition | SheetJS Community Edition SheetJS Community Edition Documentation docs.sheetjs.com 1. SheetJS , FileSaver 스크립트 추가 2. 테이블 내용 JSON 으로 ..
🤍Bootstrap으로 댓글창 디자인하기 댓글창은 당연히 글 상세조회 페이지에 필요하다. detail.jsp에 추가 등록 🤍댓글 추가 기능 구현하기 board.js에 버튼 클릭 이벤트를 작성한다. let index = { init: function() { $("#btn-reply-save").on("click", () => { this.replySave(); }); }, replySave: function() { //alert('user의 save함수 호출됨'); let data = { userId : $("#userId").val(), boardId : $("#boardId").val(), content: $("#reply-content").val() }; console.log(data); $.ajax..
🤍REST API) 카카오 로그인 API 서비스 환경설정 1. 카카오 개발자센터에 접속 후 로그인한다. 2. 애플리케이션을 추가하기 3. 아래와 같이 이름을 설정해서 추가해준다. 4. WEB 플랫폼 등록 5. 도메인 등록 6. 카카오 로그인 활성화 7. Redirect URI 설정 8. 동의 항목 설정 9. 이곳에서 카카오로그인 버튼 소스를 가져온다. (축약형, Middle) 10. 로그인 화면에 카카오 로그인 버튼을 추가한다. 11. 카카오 로그인 요청을 보내는 Request URI는 아래와 같이 만들면 된다. GET /oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code HTTP/1.1 Host..
🤍스프링 시큐리티(Spring Security) 회원정보 수정 구현하기 1. 먼저 회원 정보 수정 페이지로 이동하는 코드를 UserController에 작성한다. @GetMapping("/user/updateForm") public String updateForm() { return "user/updateForm"; } 2. 회원 정보 수정 화면 updateForm을 작성한다. username은 수정할 수 없도록 readonly를 넣어준다. userid는 hidden 속성으로 넣어준다. user 정보는 principal에서 가져온다. 3. 회원 정보 수정 버튼 클릭 이벤트를 user.js에 작성한다. 수정이므로 PUT 방식으로 처리한다. let index = { init: function(){ $("#b..
JSON을 이용하는 API 서버를 어떻게 만들어야 하는지 살펴본다. API 서버 구성 시 가장 주의해야 하는 부분이 보안과 인증에 대한 문제이므로 스프링 시큐리티를 사용해서 처리하고 인증 처리는 JWT를 사용하도록 한다. 🤍간단한 Note를 작성하고 이를 이용하는 API 서버 프로젝트 구현하기 1. Note 엔티티 작성 2. NoteRepository 인터페이스 작성 3. DTO 작성 3. 서비스 계층 작성 등록, 수정, 삭제, 조회 처리 public interface NoteService { Long register(NoteDTO noteDTO); NoteDTO get(Long num); void modify(NoteDTO noteDTO); void remove(Long num); List getAll..
🤍스프링 시큐리티 소셜 로그인(구글) 구현하기 1. 구글 OAuth 2.0 클라이언트 ID 생성 승인된 리디렉션 URI 지정 생성된 OAuth 클라이언트 ID 및 비밀번호는 꼭 기억해야 함. 2. build.gradle에 라이브러리 추가 //소셜 로그인 적용 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 3. application.oauth.properties 작성 spring.security.oauth2.client.registration.google.client-id =클라이언트 ID spring.security.oauth2.client.registration.google.client-secret = 클라이언트 ..
🤍스프링 시큐리티 프로젝트 생성 1. application.properties에 시큐리티 설정 추가 logging.level.org.springframework.security.web=trace logging.level.org.zerock=debug 2. 시큐리티 설정 클래스 SecurityConfig 작성 @Configuration @Log4j2 public class SecurityConfig extends WebSecurityConfigurerAdapter { } 💡인증(Authentication) & 인가(Authorization) 은행에 금고가 있고 사용자가 금고 내용을 열어 본다고 가정했을 때 사용자가 신분증으로 자신을 증명 => 인증 은행에서 사용자가 금고를 열어볼 수 있는지 판단 => 인가..