* HttpURLConnection, HttpsURLConnection이란? 클라이언트 프로그램을 URL을 통해서버와 통신할 때 사용하는 클래스로 URLConnection를 상속받는 클래스로 HTTP 기능을 제공한다. HttpsURLConnection는 SSL 적용된 url에 접근하기 위해 사용 javadoc : https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/HttpsURLConnection.html * 클래스 구조 java.lang.Object └ java.net.URLConnection └ java.net.HttpURLConnection └ javax.net.ssl.HttpsURLConnection URLConnection은 리소스(헤더값,바디값...
Spring

* RestTemplate 클래스 1. Spring에서 제공하는 RESTful 방식의 API 호출하는 클래스이며, REST API 서버와 HTTP 통신을 위한 클래스 2. Spring 3.0부터 지원하며, JSON, XML 응답 3. 반복적인 코드를 줄임 4. org.springframework.web.client.RestTemplate * 그 외 REST API 호출하는 HTTP Client 방법 URLConnection HttpClient AsyncRestTemplate WebClient WebFlux * RestTemplate 메소드 종류 (서버[uri]쪽으로 연결이 붙는 시점) 1. getForEntity : GET방식이며, 반환의형태가 ResponseType을 지정하여 ResponseEntity..

Filter : Web Application에서 관리되는 영역으로써 Spring Boot Framework에서 Client 로 부터 오는 요청/응답에 대해서 최초/최종 단계의 위치에 존재하며, 이를 통해서 요청/응답의 정보를 변경하거나, Spring에 의해서 데이터가 변환되기 전의 순수한 Client의 요청/응답 값을 확인 할 수 있다. Spring AOP의 단계부분에서의 데이터는 객체(엔티티)와 매핑이 되어있어 순수한 request/response값이 아니게 된다. 유일하게 ServletRequest, ServletResponse의 객체를 변환할 수 있다. 주로 Spring Framework에서는 request/response의 Logging 용도로 활용하거나 인증과 관련된 Logic들을 해당 Filt..
User.java public class User { @NotEmpty @Size(min = 1,max = 100) private String name; @Min(1) @NotNull private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age ..
Exception 처리 방법 1. 에러페이지 2. 4XX, 5XX 3. 클라이언트가 200외에 처리를 하지 못할 때는 200을 내려주고 BODY에 별도의 에러 메세지 전달 Exception Annotation @ControllerAdvice : ViewResolver를 사용하는 Global 예외처리 및 특정 패키지 및 컨트롤러 예외처리 @RestControllerAdvice : RestController를 사용하는 Global 예외처리 및 특정 패키지 및 컨트롤러 예외처리 @ExceptionHandler : 특정 컨트롤러의 예외처리 1. Exception Annotation 사용 User.java public class User { @NotEmpty @Size(min = 1,max = 100) priva..
Spring Boot Validation Validation : Java에서는 NULL값에 대한 접근하려고 할 때 Null Pointer Exception 이 발생, 이러한 부분을 방지 하기 위해 미리 검증하는 과정을 validation Spring 에서 제공하는 Validation 적용 1. gradle dependecies implementation ‘org.springframework.boot:spring-boot-starter-validation’ 2. bean validation 정의 https://beanvalidation.org/2.0-jsr380 Jakarta Bean Validation - Bean Validation 2.0 (JSR 380) Bean Validation 2.0 focus..
- Listener 이벤트가 발생하면 특정 동작을 진행 1. Entity Listener Annotation > @PrePersist - insert method가 호출되기 전 @PreUpdate - merge method가 호출되기 전 @PreRemove - delete method가 호출되기 전 > @PostPersist - insert method가 호출된 후 @PostUpdate - merge method가 호출된 후 @PostRemove - delete method가 호출된 후 @PostLoad - select 조회가 된 후 domain객체에 메소드 생성 ( * Annotaion명을 메소드명에 일치할 필요 없음 ) @NoArgsConstructor @AllArgsConstructor @Requi..

@Entity - 해당 객체를 JPA에서 관리하는 객체임을 말함 - PK인 @Id가 반드시 필요 @Id - 엔티티의 PK @GeneratedValue - 어노테이션 안에 GenerationType strategy() default Auto; - GenerationType이라는 enum 객체안의 TABLE, SEQUENCE, IDENTIY, AUTO 1. TABLE : DB에 상관없이 ID를 관리하는 별도에 테이블을 사용 2. SEQUENCE : Oracle, PostgreSql, h2 3. IDENTITY : MySql, MariaDB 4. AUTO : 각 DB에 적합한 값을 전달 - 트랜잭션이 종료되기 전, Auto Increase를 통해 아이디 값을 사전에 가져온다. @Table - 테이블 name,..