본문 바로가기

컴공8

스프링 부트(Spring Boot) 투표 좋아요 기능 구현 투표 앱을 만들면서 투표에 좋아요 기능을 만들어 투표를 정렬해서 ui로 보여줄 때 좋아요가 많은 순으로 보여주면 좋겠다는 생각이 들어 좋아요 기능을 만들기로 하였다. 구현 계획은 한 유저가 좋아요 버튼을 한 번 누르면 투표 좋아요 count가 +1 이 돼고 한 번 더 누르면 - 1 이 되게끔 구현 하도록 하겠다. Poll 엔티티 . likedUsers 해당 투표에 좋아요를 누른 사용자들의 집합이다. 어떤 사용자가 투표에 좋아요를 눌렀는지 구분하여 중복투표를 막기 위해 user엔티티의 likedPolls 필드와 ManyToMany 어노테이션으로 관계 설정을 하였다. likesCount 투표가 받은 좋아요 수를 나타내는 변수로 초기값을 0으로 설정하였다. User 엔티티 likedPolls 사용자가 좋아요를.. 2023. 12. 5.
스프링부트(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.