다음을 통해 공유


프록시 API

개발자 프록시는 프로그래밍 방식으로 프록시와 상호 작용할 수 있는 웹 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 토큰