Spring Security + JWT + Mybatis 인증/인가 구현
·
Java/Spring Boot
✅ 준비물이번 포스팅에서 진행되는 프로젝트의 사항에 대해서 먼저 알리고 시작하려고 한다. 포스팅을 보시다 별도로 만든 클래스가 나온다면 검색을 해주세요 제가 작성한 클래스는 웬만하면 본 포스팅에 적어뒀습니다. 만약 본 포스팅에 존재하지 않는다면 댓글 남겨주시면 최대한 빠르게 알려드리겠습니다.  🟨 Spring boot 버전plugins { id 'java' id 'org.springframework.boot' version '3.3.3' id 'io.spring.dependency-management' version '1.1.6'}🟨 Java 버전java { toolchain { languageVersion = JavaLanguageVersion.of(17) }} 🟨 Jwt 버전implementa..
Spring boot @RestController 유효성 검사
·
Java/Spring Boot
✅ 발단평상시 서버사이드로 프로젝트를 진행하다 보니 API로 로직을 구현하는 부분에 있어서 부족했던 것 같다.이번에 API 프로젝트를 만들면서 유효성 검증을 하려고 보니 기존에 하던 방식과는 다른 부분이 있는 것같아서 정리하려고 한다.✅ DTO 생성우선 Controller에서 전달 받을 DTO와 반환할 DTO를 구현한다. 🟨 GetFolderListDTO@Data@Schema(description = "컨텐츠함 목록 요청 정보", requiredProperties = {"PARENT_FOLDER_ID"})public class GetFolderListDTO { @JsonProperty("PARENT_FOLDER_ID") @Schema(description = "부모 컨텐츠함 아이디", exa..
HttpSessionListener를 이용한 중복 로그인 방지
·
Java/Spring Boot
프로젝트를 간단하게 진행하다 보니 중복 로그인에 관한 내용을 신경 쓰지 않고 있었다. Spring Security를 이용하면 수월하다고 하던데프로젝트에 Spring Security를 적용하지 않아서 급한대로HttpSessionListener를 이용하여 중복 로그인을 방지해 보았다.✅ SessionConfig@Slf4j@WebListenerpublic class SessionConfig implements HttpSessionListener { private static final Map sessions = new ConcurrentHashMap(); //중복로그인 지우기 public static boolean loginSessionidCheck(HttpSession session, String user..
Bean Validation
·
Java/Spring Boot
Spring boot에서 검증 기능을 매번 작성하는 것은 번거롭다. 검증 로직의 대부분은 빈 값인지, 특정 크기를 넘는지 아닌지와 같은 매우 일반적인 로직이다. 이런 로직을 모든 프로젝트에 적용하도록 공통화하고, 표준화한 것이 Bean Validation이다. 의존성 주입 Bean Validation을 사용하기 위해서는 gradle에 의존성을 추가해야 한다. implementation 'org.springframework.boot:spring-boot-starter-validation' ✅ DTO @Data public class ItemSaveForm { @NotBlank(message = "상품명을 입력해주세요.") private String itemName; @NotNull(message = "가격..
Thymeleaf 스프링 통합과 폼
·
Java/Spring Boot
Spring boot에 관련해서 조금 더 공부를 하다가 Thymeleaf에서 Form을 작성할 때 훨씬 수월하고 깔끔하게 작성할 수 있는 방식에 대해서 알게 되었는데 그냥 그렇구나 하고 넘어갈 뻔하다가 블로그에 조그마한 것이라도 정리하는 습관을 다시 들이기 위해 올리기로 했다. 상황 설명 쇼핑몰 서비스를 제공한다고 가정했을 때, 상품을 등록하는 과정에서 체크박스가 사용되는 경우가 많을 텐데 이것을 Spring boot와 Thymeleaf를 통합하여 간단하게 구현할 수 있는 방법을 알아보자 상품 @Data public class Item { private Long id; private String itemName; private Integer price; private Integer quantity; pr..
Ajax를 통해 파일과 Json 업로드 후 Controller로 받기
·
Java/Spring Boot
항상 Ajax를 통해 정보를 전송할 때 json만 전송하다 보니 파일과 함께 어떻게 보내는지 삽질을 좀 했다 하지만 늘 그랬듯이 삽질을 하고 내용을 정리하니 이게 이렇게 긴 시간을 잡아먹었어야 했는가 싶다 🟧 Ajax & Spring boot Controller ⏹️ Ajax const pdfFile = $("#pdfFile")[0].files[0]; const jsonFile = $("#jsonFile")[0].files[0]; const formData = new FormData(); formData.append("files", pdfFile); formData.append("files", jsonFile); formData.append("json", new Blob([JSON.stringify(da..
요술공주밍키
'Java/Spring Boot' 카테고리의 글 목록