본문 바로가기

분류 전체보기27

스프링부트(Spring Boot) 이미지 포함한 투표 생성하기(프론트와 협업) 투표를 만들 때 이미지 포함한 투표를 어떻게 받아올지 고민을 많이 하였다. 처음 이미지 없이 투표 내용만 받아 올 때는 @RequestBody 어노테이션을 이용하여 JSON 형태로 받아와서 구현을 하였는데 이미지파일을 함께 받기 위해서 @RequestPart어노테이션으로 받아오게 수정을 하였다 어떻게 받아오게 됐는지 한 번 살펴보자 처음에는 PollRequest 디티오와 Multipart타입인 mediaData를 @RequestPart를 이용하여 받아오려고 하였다 그러나 프론트에서 계속 오류가 뜨고 투표 오류 응답: 415 {"timestamp":"2023-12-02T17:08:37.831+00:00","status":415,"error":"Unsupported Media Type","path":"/po.. 2023. 12. 5.
스프링 부트(Spring Boot) 보안 관리: 스프링 서큐리티 투표 앱을 만들면서 클라이언트들의 보안 부분을 어떻게 처리해야할 지 고민하고 알아보다가 스프링 서큐리티(Spring Security)를 이용하여 보안(인증, 권한) 부분을 구현하게 되었다. 스프링 서큐리티에 대해서 한 번 알아보자! 1. 스프링 시큐리티(Spring Security) 1.1 스프링 시큐리티란? 스프링 시큐리티는 스프링 기반의 애플리케이션에서 보안 관련 작업을 처리하는 프레임워크.인증, 권한 부여, 공격 방어, 보안 설정 관리 등을 간편하게 설정하고 사용할 수 있는 도구이다. 우선 스프링 시큐리티의 주요 기능을 한 번 보자 1.2 주요 기능 첫 번째, 인증(Authentication) : 사용자가 누구인지 확인. 사용자의 아이디/패스워드를 사용한 로그인, 소셜 로그인, 인증서, API 키 .. 2023. 12. 5.
스프링 부트(Spring Boot) 데이터베이스: JPA, Hibernate, Spring data JPA 이해하기 투표앱을 만들면서 클라이언트에서 보내온 데이터를 저장하고 저장하고 있던 데이터를 다시 반환해주는 과정에서 데이터베이스에 값들을 저장하고 반환해주고 했다. 그만큼 데이터베이스를 잘 다뤄야 한다는것을 뼈저리게 느끼고 있다. 그래서 이번 시간에는 데이터베이스를 이용할 때에 흔히 보이고 사용되는 기술들에 대해서 한 번 알아보고자 한다. 1. JPA (Java Persistence API) 1.1 JPA란? JPA는 자바의 ORM (Object-Relational Mapping) 기술을 사용하기 위한 인터페이스를 모아둔 것 으로, 자바 객체와 데이터베이스 테이블 간의 매핑을 편리하게 처리할 수 있도록 하는 인터페이스. ORM (Object-Relational Mapping) 기술이란? -객체 지향 프로그래밍 언어.. 2023. 12. 5.
스프링부트(Spring Boot) 에서 JPA의 Auditing 기능을 이용한 투표 작성 시간, 작성자 자동 기입하기 안녕하세요, 스프링부트에서 투표 작성 시간을 자동으로 기입하는 방법에 대해서 알아보겠습니다. 1. 생성 시간과 수정 시간을 기록하는 기본 클래스 작성하기 JPA의 Auditing 기능 Auditing이란? 데이터의 생성, 수정 시간 등을 자동으로 관리해주는 기능이다. 이를 통해 데이터의 변경 이력을 손쉽게 관리할 수 있게 도와준다. JPA Audit 기능을 사용하려면, 스프링 부트 애플리케이션에서 @EnableJpaAuditing 어노테이션을 추가하여 JPA Auditing을 활성화해주어야 한다 JPA의 Auditing 기능을 사용하여 생성 시간과 수정 시간을 자동으로 기록하기 위해 먼저 아래와 같이 'DateAudit'라는 이름의 추상 클래스를 만들어 주었다 이 클래스는 'createdAt'와 'upd.. 2023. 12. 5.