인터셉터를 사용해 공통적으로 처리하고자 한 부분이 있었는데, 인터셉터가 걸리면 안되는 부분도 인터셉터가 걸린다
원래코드는 보시다시피 /boards/{boardId}/**
로 지정했으며 Long
타입인 boardId
값이 들어오는 경우만 인터셉터에 들어가야한다
/boards/1
, /boards/2/members
와 같은 API는 인터셉터에 걸리게,
/boards/members
, /boards/tags/1
와 같은 API는 인터셉터에 걸리지 않게 하고싶었다
하지만 예시로 적은 API 모두 인터셉터에 걸리며, boardId
를 활용하여 검증하는 과정에 타입에러가 발생한다
표기 | 설명 |
---|---|
^ | 문자열의 시작 |
$ | 문자열의 끝 |
. | 임의의 한 문자 |
* | 문자가 0번 이상 발생 |
+ | 문자가 1번 이상 발생 |
? | 문자가 0번 혹은 1번 발생 |
[ ] | 문자의 집합 범위를 나타냄 [0-9]: 숫자 (0부터 9) [a-z]: 알파벳 (a부터 z) 앞에 ^가 나타나면 not을 의미 |
{ } | 횟수 또는 범위를 의미 |
( ) | 소괄호 안의 문자를 하나의 문자로 인식 |
| | or 조건 |
\s | 공백문자 |
\S | 공백문자가 아닌 나머지 문자 |
\w | 알파벳이나 숫자 |
\W | 알파벳이나 숫자를 제외한 문자 |
\d | [0-9]와 동일 |
\D | 숫자를 제외한 모든 문자 |