반응형

SpringBoot 52

[springBoot] springBoot Interceptor 로그인 체크

LoginInterceptor package study.thboard2.common.interceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @Slf4j //로그인 인터셉터 public class LoginInterceptor implements HandlerInterceptor { //아래처럼 의존성 주입하려면 config에서 @Bean으로..

IT/development 2023.05.13

[springBoot] spring boot jar파일 배포 삽질(feat. 리눅스)

스프링부트에서 jar파일 실행 시 옵션으로 profile등을 설정할 수 있는데 이것 때문에 이틀을 삽질해서 메모함 서버에서 쉘 스크립트를 아래와 같이 작성(옵션을 변수화), 실행 시 계속 profile을 찾지 못했었다. #이전 명령어대로 하면 계속 안된다. java -jar -옵션 -옵션.. deploy.jar 순서가 이런식이 되어야 된다. #이전 명령어는 java -jar deploy.jar -옵션 -옵션 이 순서니까 계속 안되던 거였다. 다음엔 절대 같은 실수하지 말자

IT/development 2023.05.13

[spring] vo와 multipartFile 동시에 서버로 전송(feat.@RequestPart)

클라이언트에서 JSON 타입의 데이터와 멀티파트 형식 파일을 동시에 전달 받는 방법을 기록한다. Controller에서 JSON타입의 데이터를 vo로 받고 멀티파트 형식 파일을 받아서 로그만 찍어보겠다. controller package study.lsyrestapitest1.controller.api; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMap..

IT/development 2023.02.08

[spring] @RequestBody String type 받기

목차 spring에서 @RequestBody로 String type의 변수 받기 스프링 RestFul방식으로 클라이언트에서 데이터를 전달 받을 때 당황했던 경험이 있어 이를 기록한다. 보통 스프링에서 클라이언트에서 전달한 데이터를 Dto나 Vo등의 객체 타입으로 바인딩 시 아래처럼 객체로 전달 받도록 하면 된다. package study.lsyrestapitest1.controller.api; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotati..

IT/development 2023.01.24

[spring/mybatis] Rest API 계층구조(1:N) 객체 조회(feat .쉬운 예제)

목차 역시나 미래의 나를 위해 기록한다. 계층구조 조회가 처음 접하고 익숙해지기 전까지는 좀 어렵다.(물론 지금도 쉬운 건 아니다.) 모든 일이 익숙해지면 아무것도 아닌 게 그전까지는 어려운 법이다. Rest API 계층구조 조회 간단 예시다. 사용자(UserDto) 객체가 도서 객체(BookDto)를 list로 가지고 있는 구조다. 회원과 도서의 관계를 1:N으로 매핑했고 회원이 부모고 책이 자식이다. 아래처럼 한명의 회원이 여러개의 책을 대출할 수 있는 조건 그래서 회원 객체는 도서 객체를 list로 가지고 있어야 한다. 아래 DB 테이블을 보면 회원번호 1번인 천둥의 신 토르가 열혈강호 1권~5권까지 가지고 있다. API니까 당연히 클라이언트에 전달할 객체인 dto와 db 조작시 사용할 객체인 vo..

IT/development 2022.12.25

[spring] @ControllerAdvice, @ExceptionHandler를 이용한 예외처리

목차 역시나 미래의 내가 보기 위해 기록한다. 기존에는 try catch문으로 예외를 처리했었는데 예외처리가 필요한 여러군데 코드에 적용을 해야 되니.. 클린하지가 않아 구글링 해보니 스프링에서 제공하는 @ControllerAdvice, @ExceptionHandler이 있었다. 왜 이걸 이제야 알게 되었는지.. 😥 테스트 개발환경은 아래와 같다. @ExceptionHandler 😄 @Controller나 @RestController가 선언된 Bean에서 발생한 예외만 처리할 수 있다. @Service나 @Repository와 같은 곳에서의 예외는 처리할 수 없음에 유의할 것 사용방법은 간단하다. 컨트롤러 내에 메소드를 만들고 @ExceptionHandler를 선언하고 value값으로 예외처리 클래스를 ..

IT/development 2022.12.04

[IDE]IntelliJ springBoot 리소스 자동 리로드

목차 IntelliJ springBoot 리소스 자동 리로드 spring-boot-devtools를 이용(서버 재시작없이 자동 리로드) 출처 : https://powernote.tistory.com/19 IntelliJ spring boot DevTools 자동 빌드 적용하기. ** intelliJ version : IntelliJ IDEA 2018.1 이후 버전 # IntelliJ 에서 devtools 개발도구를 설치 하면 이상하게 EClipse에서 잘되던 자동 컴파일 이 안된다. # devtools 를 반영하고 적용하는것을 해보자. 참고 URL : ht powernote.tistory.com 출처 : https://lejewk.github.io/springboot-devtool/ spring boot..

IT/development 2022.11.29
반응형