Spring 3

스프링 + JWT 비밀번호 변경 기능 구현

기존 비밀번호와 신규 비밀번호를 입력받아 DB의 비밀번호를 수정하는 기능을 구현했다. UserAccountController.java @PatchMapping("/api/user/password") public ApiResponse modifyUserPassword(@RequestHeader("Authorization") String accessToken, @RequestBody ModifyUserPasswordRequest modifyUserPasswordRequest) { userAccountService.modifyUserPassword(accessToken, modifyUserPasswordRequest); return ApiResponse.createSuccessWithNoContent(Resp..

Spring 2023.05.19

[Spring JPA] JPQL like 사용법

1. 개요 JPA는 Java Persistence API의 약자로, 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 이를 구현해둔 것이 Hibernate이고, 이걸 스프링에서 편하게 쓸 수 있도록 한게 Spring Data JPA이다. 스프링에 대한 감을 잡기 위해서 스프링 MVC 하루만에 배우기을 보면서 코드를 따라서 쳐보았다. 이 프로젝트에서는 maven과 jdbc를 사용했는데 나는 gradle과 JPA를 사용하고 싶어 상황에 맞게 변환하였다. 그 중 keyword에 해당하는 데이터를 검색하는 기능이 있었는데, Spring data JPA는 많았어도, RAW JPA 자료는 거의 없어서 애를 먹었었다. 2. TypedQuery EntityManager 자체적으로는 ke..

Spring 2022.10.18

[Spring] @RequestParam Annotation

백엔드 개발을 하는데 파이썬만으로는 한계가 있다고 여겨 얼마 전까지 자바 기초를 공부하다가 드디어 스프링까지 접하게 되었다. 이번에는 기존에 내가 하던 원리나 이론부터 알아가는게 아닌, 실전에서 먼저 부딪혀보고 그 이후에 차차 알아가려고 한다. 적어도 개발에서는 이게 더 효율적인 것 같다. 1. 개요 스프링에서 request를 Controller 안의 메소드에 @RequestMaping 어노테이션을 붙혀서 처리한다. @RequestParam을 사용하여 query 파라미터, form 파라미터 등을 request에서 추출하여 사용할 수 있다. 2. 간단한 예시 /list에 접속하면 책들의 전체 목록들을 보여주고, /list?keyword=example에서는 'example'이라는 키워드로 검색..

Spring 2022.10.18