일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AOP
- db
- Thymeleaf
- Proxy
- 스프링 핵심 기능
- SpringBoot
- springdatajpa
- Exception
- transaction
- 백준
- http
- Spring Boot
- 스프링 핵심 원리
- 자바
- Greedy
- JPQL
- kotlin
- 인프런
- jpa
- Android
- spring
- 그리디
- 알고리즘
- pointcut
- 김영한
- java
- Servlet
- 스프링
- JDBC
- QueryDSL
- Today
- Total
목록SpringBoot (47)
개발자되기 프로젝트
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..
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..
1. @PostMapping @RestController @RequestMapping("/api") class PostApiController { @PostMapping("/post-mapping") fun postMapping(): String{ return "post-mapping" } } 2. @RequestMapping 사용 시 @RequestMapping(method = [RequestMethod.POST], path = ["/request-mapping"]) fun requestMapping(): String { return "post-mapping2" } 3. @RequestBody HTTP 메세지 바디에 담겨있는 json data를 객체로 받기 위해서 @RequestBody 사용. HTTP..
이왕 만들어 본거 배포까지 해보자! 1. HEROKU 클라우드 플랫폼으로 한 계정당 5개 application을 무료로 배포할 수 있다. GitHub과 연동되어서 편하게 배포 가능 Heroku dashboard.heroku.com 2. Heroku 사용 방법 회원가입 app생성 CLI 다운로드 CLI를 사용하면 GIT처럼 CMD에서 controller 가능. https://devcenter.heroku.com/articles/heroku-cli GitHub연동 Deploy탭에서 간단하게 설정 가능 이미 GItHub에 올라가있는 경우도 가져올 수 있음. Deploy 방법 배포할 branch 선택 후 Deploy Branch클릭 3. Error잡기 Error원인 확인하고 잡는데만 하루종일 걸렸다.. log내..
1.예외를 ExceptionResolver에서 마무리하기 예외가 발생하면 WAS까지 예외가 던져지고, WAS에서 오류 페이지 정보를 찾아서 다시 /error 를 호출하는 과정은 생각해보면 너무 복잡하다. ExceptionResolver 를 활용하면 예외가 발생했을 때 이런 복잡한 과정 없이 ExceptionResolver에서 문제를 깔끔하게 해결- > BasicErrorController호출하는 등의 절차가 없음. 2. UserException 임의의 예외를 만듦 public class UserException extends RuntimeException{ public UserException() { super(); } public UserException(String message) { super(me..