개발자 프록시는 프로그래밍 방식으로 프록시와 상호 작용할 수 있는 웹 API와 함께 제공됩니다. API는 프록시 설정에 지정된 포트에서 사용할 수 있습니다.
Swagger
API는 Swagger를 사용하여 문서화됩니다. 브라우저에서 이동하여 http://localhost:<apiPort>/swagger Swagger UI에 액세스할 수 있습니다.
작업
다음 목록에서는 사용 가능한 API 작업을 보여 줍니다.
GET /proxy
현재 실행 중인 개발자 프록시 인스턴스 ProxyInfo 에 대한 정보가 포함된 인스턴스를 반환합니다.
예: 현재 실행 중인 개발자 프록시 인스턴스에 대한 정보 가져오기
요청:
GET http://localhost:8897/proxy
응답:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
현재 실행 중인 개발자 프록시 인스턴스를 제어합니다.
예: 기록 시작
요청:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": true
}
응답:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
예: 기록 중지
요청:
POST http://localhost:8897/proxy
content-type: application/json
{
"recording": false
}
응답:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy/jwtToken
JWT(JSON 웹 토큰)를 생성합니다.
요청:
POST http://localhost:8897/proxy/jwtToken
Content-Type: application/json
{
"name": "Dev Proxy",
"audiences": [
"https://myserver.com"
],
"issuer": "dev-proxy",
"roles": [
"admin"
],
"scopes": [
"Post.Read",
"Post.Write"
],
"claims": {
"claim1": "value",
"claim2": "value"
},
"validFor": 60
}
참고 항목
등록된 클레임(예: iss, , sub, audexp, nbf, iat) jti이 토큰에 자동으로 추가됩니다. 요청에서 이러한 클레임을 지정하는 경우 API는 사용자가 제공하는 값을 무시합니다.
응답:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
POST /proxy/mockrequest
모의 요청을 발생합니다. 개발자 프록시가 실행 중인 콘솔에서 w를 누르는 것과 같습니다.
요청:
POST http://localhost:8897/proxy/mockrequest
응답:
202 Accepted
GET /proxy/rootCertificate?format=crt
개발자 프록시가 HTTPS 요청의 암호를 해독하는 데 사용하는 PEM(개인 정보 보호 강화 메일) 형식으로 루트 인증서의 공개 키를 다운로드합니다. 이 API는 Docker 컨테이너에서 개발자 프록시를 실행하는 동안 호스트에서 루트 인증서를 신뢰하려는 경우에 유용합니다.
현재 지원되는 유일한 형식은 .입니다 crt. 다른 형식을 지정하거나 형식을 전혀 지정하지 않으면 API는 400 잘못된 요청 오류를 반환합니다.
요청:
GET http://localhost:8897/proxy/rootCertificate?format=crt
응답:
content-type: application/x-x509-ca-cert
-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----
POST /proxy/stopproxy
개발자 프록시를 정상적으로 종료합니다.
요청:
POST http://localhost:8897/proxy/stopproxy
응답:
202 Accepted
모델
ProxyInfo
현재 실행 중인 개발자 프록시 인스턴스에 대한 정보입니다.
| 속성 | Type | 설명 |
|---|---|---|
recording |
boolean |
프록시가 현재 요청을 기록하고 있는지 여부 |
configFile |
string |
개발자 프록시에서 사용 중인 구성 파일의 경로(읽기 전용) |
JwtOptions
JWT 토큰을 생성하는 옵션입니다.
| 속성 | Type | 설명 |
|---|---|---|
name |
string |
토큰을 만들 사용자의 이름입니다. |
audience |
string[] |
토큰을 만들 대상 그룹 |
issuer |
string[] |
토큰 발급자 |
roles |
string[] |
토큰에 추가할 역할 클레임 |
scopes |
string[] |
토큰에 추가할 범위 클레임 |
claims |
KeyValuePair |
토큰에 추가할 클레임 |
validFor |
number |
토큰이 유효한 기간(분)입니다. |
signingKey |
string |
토큰에 서명하는 데 사용할 키입니다. 32자 이상이어야 합니다. 지정하지 않으면 임의로 생성된 키를 사용합니다. |
JwtInfo
JWT 토큰에 대한 정보입니다.
| 속성 | Type | 설명 |
|---|---|---|
token |
string |
JWT 토큰 |
Dev Proxy