:::: 개발 ::::/└ JSP & SPRING 71

spring jpa Junit 테스트

JPA 기본 설정 완성 후 소스 작업 전 테스트 소스를 먼저 만들어보자 Base도메인 설정 @MappedSuperclass @EntityListeners(value = { AuditingEntityListener.class }) //spring jpa AuditingEntityListener 에서 가져옴 // 해당 클래스가 적용되면 엔티티가 데이터베이스에 추가 / 변경될 때 자동으로 시간 값을 저장 // AuditingEntityListener 활성화 하기 위해 프로젝트 설정에 @EnableJpaAuditing 추가 해야함 @Getter public class BaseEntity { @CreatedDate @Column(name = "regdate", updatable = false) private Lo..

인텔리제이 could not find mysql:mysql-connector-java

gradle could not find mysql:mysql-connector-java build.gradle 설정 파일에 아래 처럼 설정 되어 있는걸 runtimeOnly 'mysql:mysql-connector-java' >> 아래 처럼 변경 하고 다시 빌드 하니 오류가 해결 됨 runtimeOnly 'com.mysql:mysql-connector-j' 시간이 지나면서 스프링의 버전이 업데이트되고, mysql을 연동하는 gradle입력 코드가 변경 되었다고 한다 출처 : https://skyriv312079.tistory.com/35 [Spring] Spring boot와 Mysql 연동 (Gradle) 스프링을 이용해 공부를 하면서 기존에는 H2 데이터베이스를 사용하다가 Mysql을 사용해서 연결을..

스프링 부트 http 컨트롤 spring boot http status / header controll

ResponseDTO.java import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ResponseDTO { private String error; private List data; } Hello.java import com.example.demo230123.dto.ResponseDTO; import org.springframework.http.ResponseEntity; import org.springf..

spring boot 로딩된 bean 목록 출력 소스...

이클립스에서 분명 사용하는 bean 리스트를 본것 같은데.. 아무리 찾아도 안나옴.. 그래서 로딩된 bean 목록 출력하는것 소스 import org.springframework.beans.factory.support.DefaultListableBeanFactory; public class RestController { @Autowired private DefaultListableBeanFactory dfBean; @GetMapping("/webportalif/getbean") public void getBean () { for(String name : dfBean.getBeanDefinitionNames()) { log.info(" INFO BEAN NAME === "+name); } } } 출력.. ..

spring boot rest api 애러 처리

기본 설계가 없는 플젝 빠르게 만들고 있는데 개발만 빨리 해달라더니.. 빠르게 하니 이것저것 요구하고 있음요 기분좋게 해야 되는데 왜케 구찮을까요~~ㅎㅎ 인터셉터 사용 HandlerInterceptorAdapter 상속받은 클래스에서 preHandle 인터셉터 에서 애러가 발생 return false; 해주면 그 상태에서 모든게 끝난다 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if(토큰이 없다면) { log.debug(" AuthKey empty"); response.sendError(HttpStatus.UNAUTHOR..

@ResponseBody response 처리 혹은 예외 처리

여러 디비 거쳐서 합친 리스트 데이터라 개 귀찮아서 Dto 안만든고 그대로 뿌린다고 @ResponseBody 로 뿌렸다 근데 특정 애러면 바로 404 로 http 응답해주라는 요청.. HttpServletResponse response 파라미터 받아서 response.sendError 애러 처리 하려고 했는데 리턴값 어쩌고 ..애러 발생... 폭풍검새 해결코드 !!! ㅎㅎㅎㅎㅎ @ResponseBody public Map 메서드() throws NotFoundException { if(1){ return map; }else{ throw new NotFoundException(); } } @ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "Not Found")..

spring @RequestBody Map<String, Object> Json 핸들링

{ "id":"test", "status": { "location":"E1", "mode":"2", "starttime":"2020/09/30 12:20:00", "endtime":"2020/09/30 13:50:00" }, "time":"2020/09/01 11:14:12" } 위 json 넘어온 데이터 스프링 컨트롤러에서 받아서. public test (@RequestBody Map param) { } 넘어온 값을 아래처럼 json 다시 만들고 싶을때 { "id":"test", "status": { "location":"E1", "mode":"2", "starttime":"2020/09/30 12:20:00", "endtime":"2020/09/30 13:50:00" }, "reg":{ "id": "..

스프링 부트(Spring Boot) - 인터셉터(Interceptor)

뭔가 인증할때 구현하면 개 편함 api 요청전 키 검증용으로 진행 @Bean public RestApiInterceptor restApiInterceptor() { return new RestApiInterceptor(); } 빈 생성 // Interceptor 등록 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(restApiInterceptor()).addPathPatterns("/api/v1/**"); } public class RestApiInterceptor extends HandlerInterceptorAdapter { private static final Logger log..