일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 핵심 기능
- springdatajpa
- pointcut
- Proxy
- AOP
- Android
- transaction
- 스프링
- 그리디
- spring
- 인프런
- Spring Boot
- jpa
- Servlet
- http
- 자바
- db
- kotlin
- QueryDSL
- JDBC
- Thymeleaf
- 김영한
- 백준
- Exception
- JPQL
- 알고리즘
- SpringBoot
- java
- 스프링 핵심 원리
- Greedy
- Today
- Total
목록인프런/[인프런] Kotlin으로 개발하는 Spring Boot Web MVC (12)
개발자되기 프로젝트
1. Todo data class Todo ( var index:Int?= null, var title:String?= null, var description: String?= null, var schedule: LocalDateTime?= null, var createdAt: LocalDateTime?= null, var updatedAt: LocalDateTime?= null ) 2. DataBase data class TodoDataBase( var index: Int = 0, var todoList: MutableList = mutableListOf() ) { fun init(){ this.todoList = mutableListOf() this.index = 0 print("[DEBUG] tod..
1. @WebMvcTest, @AutoConfigureMockMvc MVC를 test하기 위해서는 모든 SpringBoot를 불러올 필요가 없음. @WebMvcTest @AutoConfigureMockMvc internal class ExceptionApiControllerTest { } 2. MockMvc @Autowired lateinit var mockMvc: MockMvc 3. Test1 @Test fun helloTest(){ mockMvc.perform( MockMvcRequestBuilders.get("/api/exception/hello") ).andExpect( MockMvcResultMatchers.status().isOk ).andExpect( MockMvcResultMatchers...
1. ErrorResponse 다음과 같이 Error발생시 Response를 내려준다고 해보자. data class ErrorResponse( @field:JsonProperty("result_code") var resultCode: String?=null, @field:JsonProperty("http_status") var httpStatus: String?=null, @field:JsonProperty("http_method") var httpMethod : String?= null, var message: String?=null, var path: String?=null, var timestamp: LocalDateTime?= null, var errors: MutableList? = mutabl..
[API예외] @ControllerAdvice @ExceptionHandler 를 사용해서 예외를 깔끔하게 처리할 수 있게 되었지만, 정상 코드와 예외 처리 코드가 하나의 컨트롤러에 섞여 있다. @ControllerAdvice 또는 @RestControllerAdvice 를 사용하면.. bsh-developer.tistory.com @ControllerAdvice는 Controller에서 발생하는 Exception을 어떻게 처리할지 따로 분류해서 관리할 수 있도록 도와줌. 말 그대로 Controller에 대한 Advice이다. 아래와 같이 IndexOutOfBounds Exception이 무조건 발생하는 Controller가 있다고 해보자. @RestController @RequestMapping("/a..
앞선 글과 같이 생성일자의 경우 여기저기서 많이 사용한다. 매 번 만들어서 적용하기는 너무 불편하다. custom annotaion을 만들어서 적용을 해보자. 1. annotaion import com.example.kotlinspring.validator.StringFormatDateTimeValidator import javax.validation.Constraint import javax.validation.Payload import kotlin.reflect.KClass @Constraint(validatedBy = [StringFormatDateTimeValidator::class]) //어떤 validator? @Target( //적용할 대상 AnnotationTarget.FIELD, Anno..
1. 의존성 추가 implementation("org.springframework.boot:spring-boot-starter-validation") 2. 파라미터에 적용 Bean Validator를 파라미터에 사용하기 위해서는 class에 @Validated를 적용해야 한다. @RestController @RequestMapping("/api") @Validated //얘를 적용해야 하위에 있는 validation Annotation이 동작함. class DeleteApiController { // 1. path variable // 2. request param @DeleteMapping("/delete-mapping") fun deleteMapping( @RequestParam(value = "na..
RequestMapping Handler Adapter 구조 HTTP 메시지 컨버터는 SpringMVC 어디 쯤? 에서 사용됨....? 1. SpringMVC 구조 @RequestMapping을 처리하는 핸들러 Adapter인 RequestMappingHandlerAdapter에서 처리함. 2. RequestMappingHandlerAdapter 동작.. bsh-developer.tistory.com HTTP 요청 메시지 - 단순 텍스트 1.HTTP message Body에 데이터를 직접 담아서 요청할 수 있음. HTTP API에서 주로 사용, JSON, XML, TEXT JSON 형식 POST, PUT, PATCH 요청 파라미터와 다르게 HTTP 메시지 바디에 데이터를 답아서 넘어오.. bsh-deve..
@RestController @RequestMapping("/api") class DeleteApiController { // 1. path variable // 2. request param @DeleteMapping("/delete-mapping") fun deleteMapping(@RequestParam(value = "name") _name: String, @RequestParam(name = "age") _age: Int): String { println(_name) println(_age) return _name+" "+_age } @DeleteMapping("/delete-mapping/name/{name}/age/{age}") fun deleteMappingPath(@PathVariable..