티스토리 뷰
Interceptor에서 API 요청인지 페이지 이동인지 구분해야 할 때가 있다. 간단하게 API 요청 여부에 대해 확인하는 방법을 알아보자.
Http 요청을 하게 되면 요청 헤더에 "X-Request-With" 필드에 "XMLHttpRequest" 값이 포함된 것을 확인할 수 있다.
X-Request-With의 접두사 X는 비표준을 의미한다. 하지만 jQuery와 같은 대중적인 라이브러리들이 Ajax 요청 시 헤더에 정보를 담아 전송을 요청한다. 이것을 활용하면 API 호출 여부를 판별하기 쉽다.
private boolean isAjaxRequest(HttpServletRequest request) {
String header = request.getHeader("X-Requested-With");
if ("XMLHttpRequest".equals(header) {
return true;
} else {
return false;
}
}
"X-Requested-With", "XMLHttpRequest"는 상수로 정의해서 사용하시길 바란다.
'프로그래밍 > Back end' 카테고리의 다른 글
[Back end] Error parsing HTTP request header 에러 (Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986) (0) | 2020.02.15 |
---|---|
[Back end] Spring Boot 에러 핸들러 설정 (0) | 2020.02.15 |
[Back end] Spring Index Redirect 처리 (0) | 2020.02.02 |
[Back end] Java indexOf 명확히 사용하기 (0) | 2020.01.30 |
[Back end] Java 예외 처리에 대한 고찰 (0) | 2020.01.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- Java
- 제주도 여행
- effective java
- 제주도 3박4일 일정
- 자바스크립트
- Collection
- 프로그래머
- 오라클
- 회고
- 정렬 알고리즘
- SQL
- Tomcat
- 성능분석
- React
- 프로그래머스
- Eclipse
- 이직
- 경력관리
- javascript
- Linux 명령어
- 리액트 16
- 개발환경
- 리눅스 명령어
- 소프트웨어공학
- sort algorithm
- Maven
- spring
- 오라클 내장 함수
- 자바
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함