본문으로 건너뛰기

요청 워크스페이스와 환경

요청 워크스페이스는 설계한 작업이 실제 호출이 되는 곳입니다. 로컬 메인 프로세스를 통해 요청을 보내고 응답을 표시하며 실행마다 바뀌는 값을 환경과 변수로 관리합니다.

요청 보내기​

  1. 요청 워크스페이스에서 작업을 엽니다. 메서드, 경로, 매개변수, 헤더, 본문이 스펙에서 가져와집니다.
  2. 경로 매개변수나 토큰처럼 구체적 입력이 필요한 값을 채웁니다.
  3. 보냅니다. 탭에 상태 코드, 응답 헤더, 응답 본문, 소요 시간이 표시됩니다.
  4. 여러 요청을 탭에 유지해 비교나 재확인에 사용합니다.

실행은 WebView가 아닌 메인 프로세스에서 일어나 브라우저의 직접 CORS 제한이 호출을 막지 않고, 요청 세부 사항이 브라우저 네트워크 패널을 통해 노출되지도 않습니다.

환경과 OAS servers 대비​

둘은 관련 있지만 다릅니다. 차이를 이해하면 흔한 혼란 원인이 사라집니다.

사용자 지정 환경OAS servers
위치로컬 앱 설정OpenAPI 문서 내
요청 도구로 쓸 수 있는가예아니요——스펙 패치로 변경
용도새 요청 탭과 시나리오 실행의 기본 베이스 URL계약 자체가 선언하는 베이스 URL
문서와 공유되는가아니요예

어시스턴트가 베이스 URL을 나열할 때(env.listServers) 쓸 수 있는 사용자 지정 환경을 먼저, 현재 문서에 선언된 읽기 전용 servers를 나중에 반환합니다.

  • 로컬 베이스 URL 추가·선택은 사용자 지정 환경을 만들어 활성화합니다(env.upsertServer, env.selectServer). 이는 문서를 편집하지 않습니다.
  • 계약 내 servers 변경은 대신 스펙 패치를 제안합니다.

이로써 개인 디버깅용 베이스 URL을 계약에서 분리하면서 문서가 선언한 servers도 요청을 구동합니다.

변수​

변수는 네 스코프로 관리됩니다.

  • globals——모든 컬렉션에서 사용 가능.
  • collection——어떤 컬렉션에 적용.
  • environment——현재 환경에 바인딩. 특정 server가 지정되지 않으면 모든 server에 적용.
  • local——로컬 세션 전용.

어시스턴트는 변수를 나열하고(env.listVariables, 스코프 필터 가능) 만들거나 갱신합니다(env.setVariable, 이름과 스코프로 upsert). 변수는 특정 server에 바인딩할 수 있고 각각 활성 상태를 갖습니다. 변수 설정은 앱 동작이며 API 문서 변경이 아닙니다.

접근 토큰, 호출 간 재사용 ID, 기능 플래그를 변수로 두는 것이 일반적입니다.

베이스 URL이 없을 때​

요청에는 완전한 URL이 필요합니다. 문서 servers와 현재 환경 모두 베이스 URL이 없으면 앱은 추측하지 않고 실행 전 입력을 요청합니다. 잘못된 호스트를 조용히 부르는 것보다 낫습니다.

단일 요청에서 플로우로​

단일 호출이 동작하면 자연스러운 다음 단계는 한 응답 값을 다음 요청에 주도록 호출을 연결하는 것입니다. 그것이 시나리오 테스트입니다.

관련: 어시스턴트로 설계하기、시나리오 테스트、설정.