분류 전체보기24 에러 처리 (ControllerAdvice) 에러 처리 (ControllerAdvice) 요청 처리 도중 에러 발생 시 일괄 에러처리 방법 ControllerAdvice 컨트롤러에서 클라이언트의 요청을 처리하다 에러 발생 시 에러처리를 일괄적으로 할 수 있다. 여러 컨트롤러에서 발생 하는 에러를 한곳에서 커스텀하게 처리할 수 있다. ex) jwt 토큰 만료 Exception 처리 먼저 처리할 Exception을 상속받아 구현한다. 해당 에러 발생시 보낼 HttpStatus를 정의할 수 있다. (@ResponseStatus를 사용해 HttpStatus 정의) @ResponseStatus(value = HttpStatus.UNAUTHORIZED, reason = "Token Expired") public class JwtExpiredException .. 2019. 4. 29. 인터셉터 (Interceptor) 인터셉터 (Interceptor) - 모든 요청 처리전에 검증해야할 로직이 있거나 선행 처리해야 할 것이 있다면 Filter or Interceptor를 사용해 먼저 처리후 해당 요청을 처리한다. - Filter와 Interceptor는 실행 시점이 다르다. - Filter는 Web Application에 등록되고 Interceptor는 Spring의 context에 등록되어 사용된다. - Filter는 DispatcherServlet 이전에 먼저 실행되고 Interceptor는 그 이후에 실행된다. - Spring의 어노테이션을 이용하여 에러처리를 할 때에는 Spring에서 사용하기 용이한 Interceptor에서 처리 - Interceptor를 생성하기 위해 Interceptor를 구현하는 클래스를 .. 2019. 4. 29. Spring 요청 메소드 (Request Mapping) Request Mapping 1. 요청 메소드 HTTP Method GET, POST, PUT, PATCH, DELETE, ... GET 요청 클라이언트가 서버의 리소스를 요청할 때 사용한다. 캐싱 할 수 있다. (조건적인 GET으로 바뀔 수 있다.) 브라우저 기록에 남는다. 북마크 할 수 있다. 민감한 데이터를 보낼 때 사용하지 말 것. (URL에 다 보이기 때문) idempotent(같은 GET 요청은 항상 같은 값 리턴) POST 요청 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용한다. 서버에 보내는 데이터를 POST 요청 본문에 담는다. 캐시할 수 없다. 브라우저 기록에 남지 않는다. 북마크 할 수 없다. 데이터 길이 제한이 없다. PUT 요청 URI에 해당하는 데이터를 새로 만들거나.. 2019. 4. 13. URI 패턴 맵핑 URI 패턴 맵핑 요청 식벽자로 맵핑하기 @RequestMapping은 다음의 패턴을 지원 ? : 한글자 ("/author/???" => "/author/123") * : 여러글자 ("/author/*" => "/author/ghsong") ** : 여러 패스 ("/author/**" => "/author/ghsong/age")클래스에서 선언한 @RequestMapping과 조합 클래스에서 선언한 URI 패턴뒤에 이어 붙어서 맵핑됨 @Controller @RequestMapping("/event") public class EventController { .. }정규 표헌식으로 맵핑할 수도 있음 /{name:정규식}패턴이 중복되는 경우 가장 구체적으로 맵핑되는 핸들러를 찾아 맵핑 2019. 4. 7. 이전 1 ··· 3 4 5 6 다음