Postman에서 변수 및 링크 요청 사용
17440 단어 openapipostmanshowdevjavascript
우리가 가장 좋아하는 것은 이전에 보지 못했던 OpenAPI 파일을 가져오는 것이다 Postman.따라서 우리는 API를 이전보다 빠르고 쉽게 평가하고 탐색할 수 있도록 추진하기로 했습니다.
본고에서 우리는 Postman에서 탐색 API를 더욱 친근하게 만드는 방법을 중점적으로 소개할 것이다.예를 들면 Postman Collection 을 사용하므로 계속하려면 선행 조건 목록을 확인하십시오.
Vonage API Postman 시리즈 선결 조건
우체부 계좌 변수는 너의 친구다
Postman을 처음 가져올 때 Vonage API 폴더가 화면 왼쪽에 있는 컬렉션에 나타납니다.
집합 이름 아래의'36개 요청'도 볼 수 있습니다.인증 유형에 따라 요청 매개 변수로 추가
api_key
와 api_secret
의 36배에 달한다.다행히도, Postman은 환경, 전역, 집합 단계의 변수를 지원하는데, 이 모든 것은 체험을 더욱 순조롭게 하고, 고통을 더욱 적게 할 것이다.이러한 변수는 모든 요청에 동일한 매개 변수 값을 채우는 등 반복적인 작업을 수행하지 않고 동적으로 이 값을 추출할 수 있도록 합니다.
저희 모음집에는 키와 기밀을 제공할 수 있는 Vonage 환경이 포함되어 있으며, 모든 요청은 이 값을 사용합니다.
Vonage APIs Collection
이렇게 하면 간단한 요청을 한다. 예를 들어 계좌 API로 계좌 잔액을 검사하면 원클릭 조작이 된다.
기타 일부 요청은 추가 인자가 필요할 수 있습니다.예를 들어 문자 메시지를 보내려면 요청 본문
to
, from
및 text
을 작성해야 하지만 api_key
및 api_secret
은 자동으로 채워집니다.이러한 매개 변수 중 하나를 변수로 추가할 수도 있습니다. 예를 들어
to
번호가 다음 요청에 집합 변수로 저장되었습니다.집합이나 환경을 직접 편집하거나 변수로 바꿀 하드 인코딩 값을 선택한 다음 "변수로 설정"> "새 변수로 설정"을 누르면 됩니다.
링크 요청
포스트맨의 변수는 훌륭하지만, 모든 번거로운 일을 해결하는 일반적인 도구는 아니다.
예를 들어, JWT를 사용하여 인증된 VonageAPI를 사용할 때 요청을 보내기 전에 JWT를 생성해야 합니다.JWT를 생성하려면 응용 프로그램 ID와 개인 키가 필요합니다. Vonage 응용 프로그램을 만들면 이 두 개의 ID와 개인 키를 얻을 수 있습니다.이것은 한 사람이 반드시 세 개의 독립된 요청을 해야 하는 것과 같아서 처음으로 API를 탐색하는 사람들을 곤혹스럽게 할 수 있다.
다행히도 다단계 선결 조건에 대해서도 링크 요청이라는 변통 방법이 있다.
Postman은 두 개의 스크립트 영역을 제공합니다. 요청 전 스크립트와 테스트를 제공합니다. 거기서 원하는 자바스크립트 코드를 작성할 수 있습니다. 다른 HTTP 요청을 보내는 것을 포함합니다.
사전 요청 스크립트
Vonage 음성 API는 JSON Web 토큰(JWT)을 사용하여 인증을 수행하므로 아웃사이트 호출 요청을 보내려면 다음이 필요합니다.
application_id
및 private_key
값을 가져와 JWT를 생성합니다.// Check if we already have a JSON Web Token, continue if not
if (!pm.environment.has("JWT")) {
var btoa = require('btoa')
let base64keyandsecret = btoa(`${pm.environment.get("api_key")}:${pm.environment.get("api_secret")}`)
// (1) Create a Voice Application by making a request to the Vonage Applications API
pm.sendRequest({
url: 'https://api.nexmo.com/v2/applications',
method: 'POST',
header: [`Authorization:Basic ${base64keyandsecret}`, "Content-Type: application/json"],
body: JSON.stringify({
"name": "Demo Postman Application",
"capabilities": {
"voice": {
"webhooks": {
"answer_url": {
"address": "https://example.com/webhooks/answer",
"http_method": "POST"
},
"event_url": {
"address": "https://example.com/webhooks/event",
"http_method": "POST"
}
}
}
}
})
}, (err, res) => {
// (2) Generate JWT using the application ID as a claim and sign it with the private key
pm.sendRequest({
url: 'https://jwtapi-dev.netlify.app/.netlify/functions/generate',
method: 'POST',
header: ["Content-Type: application/json"],
body: JSON.stringify({
algorithm: "RS256",
private_key: res.json().keys.private_key,
claims: {
application_id: res.json().id,
exp: parseInt((Date.now() / 1000) + 3600, 10)
}
})
}, (err, res) => {
pm.environment.set("JWT", res.json().signed_jwt)
})
})
}
테스트: 왜 요청 스크립트를 발표하지 않습니까?
Postman은 단일 요청, 폴더, 집합에 테스트를 추가할 수 있습니다.이러한 테스트는 API가 예상대로 실행되고 디버깅에 사용될 수 있도록 확보하는 데 매우 유용하지만, 중요한 점은 테스트는 요청을 보낸 후에 실행되는 JavaScript 스크립트라는 것이다.
이것은 미리 요청한 스크립트를 사용하는 방식을 통해 우리도 테스트 구역을 충분히 이용할 수 있다는 것을 의미한다.
우리의 음성통화 예시에서 성공적으로 완성된 후에 나는
voice_call_uuid
함수를 사용하여 pm.collectionVariables.set()
을 수집 변수로 저장했다.만약 내가 다른 음성 API와 관련된 요청을 보내기로 결정한다면, 이 변수는 도움이 될 것이다.또는 실패하면 JWT
표현식을 사용하여 pm.environment.unset("JWT")
값을 지우고 요청을 다시 보내고 새 JWT를 생성합니다. if (pm.response.code == "201") {
pm.collectionVariables.set("voice_call_uuid", pm.response.json().uuid);
} else {
pm.environment.unset("JWT")
}
스크립트에서 변수를 정의하는 방법에 대한 자세한 내용은
를 참조하십시오.요청 주체
마지막으로 이것들을 함께 놓고 음성으로 문자를 보내는 음성통화를 합시다.
아래의 코드 세그먼트를 사용할 수 있으며,
to
및 from
을 변수나 하드코딩 값으로 제공할 수 있습니다.to
은 귀하가 전화를 걸 목적지 번호이며, from
은 귀하의 Vonage 번호 중 하나입니다.아직 없으시면 Postman docs 중 하나를 추가하십시오.NCCO는 우리의 호출 제어 대상으로 호출 응답 후 취해야 할 모든 조작을 열거하고 있다.호출 흐름에 어떤 다른 동작을 포함할 수 있는지 보기 .
{
"to": [
{
"number": {{to}},
"type": "phone"
}
],
"from": {
"number": {{from}},
"type": "phone"
},
"ncco": [
{
"action": "talk",
"text": "This is a text to speech call from Vonage"
}
]
}
이 요청은 이제 실행할 수 있으니 발송 단추를 누르십시오.축하너는 이 중에서 가장 좋은 것이 무엇인지 아니?변경 사항을 저장하고 집합을 공유하면 다음 사람은 부족한 변수 값을 입력하고 보내기 단추를 누르기만 하면 됩니다.당신은 이런 편리한 우체부 기능을 어떻게 사용할 수 있습니까?무슨 비결이 있습니까?우리에게 알리기;우리는 당신의 건의를 기대하고 있습니다!
대시보드 다음 단계는 어디에 있습니까?
Reference
이 문제에 관하여(Postman에서 변수 및 링크 요청 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iza_biro/using-variables-and-chaining-requests-in-postman-42p5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)