상황 :
mybatis에서 <if>태그로 조건을 적용하던 중 아래와 같은 오류가 발생함Invalid character found in method name. HTTP method names must be tokens
오류가 난 부분은 다음과 같다.
<if test="tdiDay != '0'">
AND TDI_DAY IN (#{tdiDay})
</if>
이 코드에서 넘겨받은 값 tdiDay는 0 또는 문자열이다.
해결 :
이 오류의 원인은 tdiDay를 조건으로 사용할때 데이터형 자동 변환으로 인한 문제였다이 경우 자동 형변환이 되지 않도록 아래와 같이 조건문을 처리하여 해결하였다
<if test="tdiDay != '0'.toString()">
AND TDI_DAY IN (#{tdiDay})
</if>