2022. 12. 27. 20:58ㆍ기록/TIL
[TIL] Today I Lerned - 221227
221227 기록
알고리즘
[Python] 프로그래머스 lv2 - 게임 맵 최단거리 (tistory.com)
BFS를 이용해서 문제를 풀어나감. 다만 오랜만에 그래프 계열의 탐색 문제를 풀려고 하니 어떻게 풀어야 하는지는 감이 왔지만 손으로 코드를 작성하는 부분에서 시간이 좀 걸렸다.
정규식
밀어놨던 정규식에 대한 공부를 시작하고 정리, 아무래도 이전까지 정규식을 사용하는 것은 기간을 맞추기 위해 인터넷을 검색해서 사용했지만 실제로 좀 알고 써야겠다는 생각이 들어서 정리하게 되었다. 아직 여러 문자가 섞인 복잡한 정규식 작성은 힘들지만 그래도 한번 정리하고 난 뒤로는 남이 작성한 정규식을 어렴풋이 읽을 수 있게 되었다.
자주 쓰는 정규식의 경우 나중에 정규식을 하나씩 작성하게 된다면 그 정규식들을 추가하려고 한다.
프로젝트
- 유저, 관리자 계정으로 나누기
- 유저와 관리자로 계정의 등급을 나누는 것에는 성공
- 그러나 어떤 기능을 관리자 기능을 넣어야할지, 코드를 어떤 방식으로 작성해야 할지 고민
- 관리자의 경우 모든 글에 접근 / 수정 / 삭제 가능
- ExceptionHandler로 전체 Exception 제어
- 기존의 경우 각 컨트롤러 코드에 @ExceptionHandler를 설정하였다
- 다만 이런 경우 전체적으로 같은 exception에 대해 중복되는 코드가 생성
- @RestContollerAdvice를 통해 전체적으로 사용되는 AOP 개념의 예외처리 클래스 작성
- 현재는 IllegalArgumentException만 존재
- 추후 다른 에러들도 분류하여 작성할 예정
RESTControllerAdvice
A convenience annotation that is itself annotated with @ControllerAdvice and @ResponseBody.
Types that carry this annotation are treated as controller advice where @ExceptionHandler methods assume @ResponseBody semantics by default.
NOTE: @RestControllerAdvice is processed if an appropriate HandlerMapping-HandlerAdapter pair is configured such as the RequestMappingHandlerMapping-RequestMappingHandlerAdapter pair which are the default in the MVC Java config and the MVC namespace.
ControllerAdvice와 ResponseBody의 기능을 동시에 하는 어노테이션
@ExceptionalHandler를 사용이 되는 controller advice에서 처리가 됨
ControllerAdvice
ControllerAdvice (Spring Framework 6.0.3 API)
@Contoller / @RestController에서 발생이 된 예외를 모아서 처리할 수 있게 해주는 어노테이션
- 스프링 시큐리티로 접근하기
'기록 > TIL' 카테고리의 다른 글
[TIL] Today I Lerned - 221229 (0) | 2022.12.30 |
---|---|
[TIL] Today I Lerned - 221228 (0) | 2022.12.28 |
[TIL] Today I Lerned - 221226 (0) | 2022.12.26 |
[TIL] Today I Lerned - 221223 (0) | 2022.12.23 |
[TIL] Today I Lerned - 221222 (0) | 2022.12.22 |