Bagikan melalui


API Proksi

Dev Proxy dilengkapi dengan API web yang memungkinkan Anda berinteraksi dengan proksi secara terprogram. API tersedia pada port yang ditentukan dalam pengaturan proksi.

Swagger

API didokumenkan menggunakan Swagger. Anda dapat mengakses antarmuka pengguna Swagger dengan menavigasi ke http://localhost:<apiPort>/swagger di browser Anda.

Operasional

Daftar berikut menunjukkan operasi API yang tersedia.

GET /proxy

Mengembalikan instans ProxyInfo dengan informasi tentang instans Dev Proxy yang sedang berjalan.

Contoh: Mendapatkan informasi tentang instans Dev Proxy yang sedang berjalan

Permintaan:

GET http://localhost:8897/proxy

Respons:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy

Mengontrol instans Proksi Dev yang sedang berjalan.

Contoh: mulai merekam

Permintaan:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": true
}

Respons:

200 OK

{
  "recording": true,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

Contoh: hentikan perekaman

Permintaan:

POST http://localhost:8897/proxy
content-type: application/json

{
  "recording": false
}

Respons:

200 OK

{
  "recording": false,
  "configFile": "/Users/user/dev-proxy/devproxyrc.json"
}

POST /proxy/jwtToken

Menghasilkan JSON Web Token (JWT).

Permintaan:

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
}

Catatan

Klaim terdaftar (misalnya, iss, , sub, audexp, nbf, iat, , jti) secara otomatis ditambahkan ke token. Jika Anda menentukan salah satu klaim ini dalam permintaan, API mengabaikan nilai yang Anda berikan.

Respons:

200 OK

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}

POST /proxy/mockrequest

Menaikkan permintaan tiruan. Setara dengan menekan w di konsol tempat Dev Proxy berjalan.

Permintaan:

POST http://localhost:8897/proxy/mockrequest

Respons:

202 Accepted

GET /proxy/rootCertificate?format=crt

Mengunduh kunci publik sertifikat akar dalam format PEM (Privacy Enhanced Mail) yang digunakan Dev Proxy untuk mendekripsi permintaan HTTPS. API ini berguna ketika Anda ingin mempercayai sertifikat akar pada host Anda saat menjalankan Dev Proxy dalam kontainer Docker.

Saat ini, satu-satunya format yang didukung adalah crt. API mengembalikan kesalahan Permintaan Buruk 400 jika Anda menentukan format lain atau tidak menentukan format sama sekali.

Permintaan:

GET http://localhost:8897/proxy/rootCertificate?format=crt

Respons:

content-type: application/x-x509-ca-cert

-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----

POST /proxy/stopproxy

Dengan anggun mematikan Dev Proxy.

Permintaan:

POST http://localhost:8897/proxy/stopproxy

Respons:

202 Accepted

Model

ProxyInfo

Informasi tentang instans Dev Proxy yang sedang berjalan.

Properti Tipe Deskripsi
recording boolean Apakah proksi sedang merekam permintaan
configFile string Jalur ke file konfigurasi yang digunakan Dev Proxy (baca-saja)

JwtOptions

Opsi untuk menghasilkan token JWT.

Properti Tipe Deskripsi
name string Nama pengguna untuk membuat token untuk
audience string[] Audiens untuk membuat token untuk
issuer string[] Penerbit token
roles string[] Klaim peran untuk ditambahkan ke token
scopes string[] Klaim cakupan untuk ditambahkan ke token
claims KeyValuePair Klaim untuk ditambahkan ke token
validFor number Durasi (dalam menit) di mana token valid
signingKey string Kunci yang digunakan untuk menandatangani token. Panjangnya harus minimal 32 karakter. Jika tidak ditentukan, menggunakan kunci yang dihasilkan secara acak.

JwtInfo

Informasi tentang token JWT.

Properti Tipe Deskripsi
token string Token JWT