Stateless 환경에서 Postman을 사용하는 경우, 매번 로그인을 거치거나, 갱신해야 하는 경우가 생기는데 해당 문제를 자동화하기 위해 환경 설정에 필요한 값을 저장하고 실행 전 자동으로 갱신할 수 있도록 설정한다.
- Environments에서 환경을 생성하고 사용할 ID, PW와 갱신 or 저장할 토큰명을 지정하여 저장한다. 환경을 생성, 지정하지 않은 경우 컬렉션 내부 환경을 할 수도 있지만 결합도를 낮추기 위해 추천하지 않음
baseUrl
-> 해당 환경에서 사용할 기본 주소, OpenAPI등을 이용해 Import 하는 경우 다음과 같이({{baseUrl}}/api/v1/login
) 지정되며, 환경 변경 시에도 빠른 대응이 가능하므로 반드시 저장하는 것을 추천
login_id
,password
,bearer-token
-> 각자 환경에 알맞게 수정
생성한 환경 설정은 1시 방향의 하기 메뉴에서 선택하여 사용
Collentions -> Collention(또는 Request) -> Script -> Pre-request 탭을 선택하여 하기 소스를 붙여넣고 수정, 저장한다.
해당 소스의 경우 매번 로그인하도록 처리
// 로그인 또는 토큰 갱신에 필요한 데이터를 환경 설정에서 불러온다
let data = {
"login_id": pm.environment.get("login_id"),
"password": pm.environment.get("password")
}
// 실행할 Request 이전에 해야 할 작업을 설정한다.
pm.sendRequest({
url: pm.environment.get("baseUrl")+"/api/v1/login",
method: 'POST',
header: {
'Accept': '*/*',
'Content-Type': 'application/json'
},
body: {
mode: 'raw',
raw: JSON.stringify(data)
}
}, (err, res) =>pm.environment.set("bearer-token", res.json().access_token))
Collentions -> Collention -> Authorization 탭에서 타입과 값을 설정한다.
Bearer Token을 사용했기 때문에
{{bearer-token}}
으로 지정
컬렉션 하위의 요청의 경우 Authorization 탭의 설정을
Inherit authorization
으로 지정하여 상속받도록 지정한다.OpenAPI등을 이용하는 경우 하기와 같이 포스트맨의 Import 기능을 이용해 컬렉션을 불러올 수 있는데, 이때
Always inherit authentication
옵션을 활성화하여 모든 요청의 인증을 상속받을 수 있다.