[인텔리제이] .http파일을 이용한 포스트맨 대체하기
인텔리제이에서 지원하는 .http라는 파일을 만들면 포스트맨을 대체하여 매우 편리했던 경험이 있었다. 이러한 경험을 글로 정리해서 공유해보려고 한다.
장점
- 포스트맨을 사용했을 때는 매번 테스트 해볼때마다 복붙을 했었지만, .http라는 파일로 관리하여 저장할 수 있다.
- Code highlighting이 가능해서 더욱 직관적이다.
- 코드 자동 완성의 기능들이 있다.
단점
- 음..굳이 뽑자면 파일이기 때문에 관리를 해야 한다? 인 것 같다.
POST 요청
위 처럼 POST로 요청을 보낼 때, Content-Type을 명시해주고 한 칸 띄우고 json형식으로 입력해주면, 테스트용 디비에 아래처럼 잘 들어간 것을 확인할 수 있다.
그리고 로그인에 성공을 하면, accessToken도 잘 나오는 것을 확인할 수 있다.
또한 만약 로그인 시에 예외가 발생하면 아래 사진처럼 예외까지 보여준다.
GET 요청
GET요청은 단순히 url만 입력해주면 된다!
토큰의 유효성 검사
현재 장바구니 담기는 토큰을 헤더에 넣어주지 않아서 위와 같은 예외가 발생한다.
이때, 해당 .http파일에서 헤더에 추가해도 좋지만 여러 api요청에 같은 일을 반복해야 하므로 따로 추출해주겠다.
활용
AuthController.http
환경 변수로 위와 같이 설정을 해준다. response.body에서 accessToken필드의 값을 주입해준다.
authorizationToken에 "Bearer " + token의 형태로 저장해두겠다는 것이다.
이후, 다시 토큰이 필요한 장바구니 담기 요청의 헤더에 추가를 해준다.
이제 다시 로그인을 하고, 장바구니 담기 요청을 하면 정상 작동한다.
http-client.env.json
{
"local": {
"apiUrl": "http://localhost:8080/api/"
}
}
위 파일형식으로 환경 변수를 설정하면 아래처럼 더욱 간편하게 이용할 수 있다.
로그
IntelliJ의 .http 요청은 모두 로그로 남기고 있다.
Response Body가 너무 많을 경우엔 IntelliJ 화면에서 끊길 수가 있다고 합니다. 이럴 때 로그 파일로 확인하면 좋다.
로그 파일의 위치는 {프로젝트폴더}/.idea/httpRequests/ 아래에 모두 있다.
http-request-log.http에 자신이 적었던 모든 요청 형식들이 있을 것이다!