• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

화이트 리스트 경우 인증체크 메서드 질문

23.12.19 20:59 작성 조회수 200

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

requestURI와 whitelist에 있는 값이 매칭이 된다면 인증체크를 하고, 매칭되는 값이 없다면 인증체크를 하지않는 함수인거는 이해했습니다.

리턴값 코드 이해가 잘 안되는거같아서 질문 남깁니다.

위 아래 코드가 같은건가요 ? 강사님이 알려주신 코드는 이해가 잘 안가서 다시한번 짜봤습니다 ㅠㅠ

private boolean isLoginCheckPath(String requestURI){

    if(PatternMatchUtils.simpleMatch(whitelist,requestURI)){
        return false;
    }
    return true;
}
private boolean isLoginCheckPath(String requestURI){

    return !PatternMatchUtils.simpleMatch(whitelist,requestURI);

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2023.12.20

안녕하세요. deoksam님, 공식 서포터즈 y2gcoder입니다.

같은 코드가 맞습니다! 결국

PatternMatchUtils.simpleMatch(whitelist, requestURI) 의 반환값이 boolean 이고, 해당 값이 true 일 때는 false, false일 때는 true를 반환해야 하기 때문에 이를 축약해서 저렇게 작성할 수 있습니다. 아래는

각각 보여주셨던 것처럼 if 문을 이용한 것, 삼항 연산자, 그리고 최종 축약형입니다. 보시면서 이해하시는데 도움이 되셨으면 좋겠습니다!

private boolean isLoginCheckPath(String requestURI){

    if(PatternMatchUtils.simpleMatch(whitelist,requestURI)){
        return false;
    }
    return true;


}
private boolean isLoginCheckPath(String requestURI){
    //return PatternMatchUtils.simpleMatch(whitelist,requestURI) ? false : true;
    return !PatternMatchUtils.simpleMatch(whitelist,requestURI) ? true : false;
}
private boolean isLoginCheckPath(String requestURI){
    return !PatternMatchUtils.simpleMatch(whitelist,requestURI);
}

감사합니다.

deoksam님의 프로필

deoksam

질문자

2023.12.21

친절한 답변 감사합니다 !