Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
A 3.3.1-es verzió óta minden Dev Proxy API-kéréshez szükség van a fejlécre; érvényes Authorization: Bearer <token> jogkivonattal 401 Unauthorizednem rendelkező kérések.
A Dev Proxy egy webes API-val rendelkezik, amely lehetővé teszi a proxy programozott módon történő használatát. Az API a proxybeállításokban megadott IP-címen és porton érhető el.
A Dev Proxy minden futó példányhoz létrehoz egy egyedi jogkivonatot, és egy olyan fájlban tárolja, amely csak a példányt létrehozó felhasználó számára érhető el. A jogkivonat lekérése a következővel devproxy status : vagy devproxy api token. Ha a CI környezeti változó be van állítva, használja devproxy api token , mert a Dev Proxy kihagyja a jogkivonatot az állapotból és az indítási kimenetből.
Ha egy ismert jogkivonatot szeretne használni a létrehozott helyett, például amikor egy másik eszköz elindítja a Dev Proxyt, és meghívja annak API-ját, állítsa be a DEV_PROXY_API_TOKEN környezeti változót, mielőtt elindítja a Dev Proxyt, vagy átadja azt a --env beállítással. Az értéknek legalább 32 karakter hosszúnak kell lennie, nem számítva = a záró párnázást, és csak ASCII-betűket, számjegyeket és a karaktereket -, ., _, ~, +és /, opcionálisan a kitöltést = követve tartalmazhat. A dev proxy levágja a térközt. Ha az érték nem érvényes, a Fejlesztői proxy nem indul el, és hibaüzenet jelenik meg. A dev proxy továbbra is tárolja a jogkivonatot, így devproxy statusdevproxy api token, és devproxy stop továbbra is működik.
Adja meg a jogkivonatot a Authorization fejlécben:
Authorization: Bearer <token>
Érvényes jogkivonattal nem rendelkező kérések.401 Unauthorized A böngészőkéréseknek a beállításban apiAllowedOrigins felsorolt forrásból is származnia kell. Más források is visszatérnek 403 Forbidden.
Üzemeltetés
Az alábbi lista az elérhető API-műveleteket jeleníti meg.
GET /proxy
Egy példányt ProxyInfo ad vissza, amely az aktuálisan futó fejlesztői proxypéldányra vonatkozó információkat tartalmazza.
Példa: Információk lekérése az aktuálisan futó fejlesztői proxypéldányról
Kérés:
GET http://localhost:8897/proxy
Authorization: Bearer <token>
Válasz:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
POST /proxy
A jelenleg futó dev proxypéldányt szabályozza. Ha szkriptből vagy CI-folyamatból szeretné elindítani és leállítani a felvételt, tekintse meg a szkriptekből és a CI-ből származó rekordot.
Példa: felvétel indítása
Kérés:
POST http://localhost:8897/proxy
Authorization: Bearer <token>
content-type: application/json
{
"recording": true
}
Válasz:
200 OK
{
"recording": true,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Példa: rögzítés leállítása
Kérés:
POST http://localhost:8897/proxy
Authorization: Bearer <token>
content-type: application/json
{
"recording": false
}
Válasz:
200 OK
{
"recording": false,
"configFile": "/Users/user/dev-proxy/devproxyrc.json"
}
Jelentések rögzítésének és létrehozásának leállítása
A rögzítés leállítása több, mint a kérések rögzítése. Amikor a Dev Proxy rögzítése közben küld, {"recording": false} a Dev Proxy átadja a rögzített kéréseket az összes engedélyezett beépülő modulnak, a konfigurációs fájlban felsorolt sorrendben. Ez ugyanaz, mint az s billentyű lenyomása azon a konzolon, amelyen a Dev Proxy fut. Ebben a lépésben:
- A jelentéskészítési beépülő modulok elemzik a rögzített kéréseket, és jelentéseket készítenek.
-
A riporterek fájlokká alakítják a jelentéseket. Minden riporter egy-egy fájlt ír minden jelentéshez, például
ExecutionSummaryPlugin_MarkdownReporter.md.<plugin>_<reporter>.<extension><plugin>a jelentést előállító beépülő modulpéldány neve, és<reporter>a jelentéskészítő példány neve. Ha már létezik ilyen nevű fájl, a riporter hozzáfűz egy időbélyeget, példáulExecutionSummaryPlugin_MarkdownReporter_20261105114500.md: . - Generátor beépülő modulok, például a
OpenApiSpecGeneratorPluginlétrehozott fájlok írása.
A Dev Proxy ezeket a fájlokat az aktuális munkakönyvtárába írja, amelyből a Dev Proxyt elindította.
Az API akkor válaszol, ha az összes beépülő modul befejezi a rögzített kérések feldolgozását. Attól függően, hogy milyen beépülő modulokat használ, például a nyelvi modellt hívó beépülő modulokat, ez a lépés eltarthat egy ideig, ezért győződjön meg arról, hogy a HTTP-ügyfél nem időz túl korán. Amikor a válasz megérkezik, a jelentésfájlokat a rendszer lemezre írja.
A Dev Proxy a rögzített kérések feldolgozásának folyamatát is naplózza:
| Naplóüzenet | Meaning |
|---|---|
DONE |
Minden beépülő modul befejezte a rögzített kérések feldolgozását. |
No requests to process |
A beépülő modul nem talált elemezni kívánt rögzített kéréseket. |
An error occurred in a plugin |
Egy beépülő modul nem sikerült. A fejlesztői proxy a következő beépülő modullal folytatódik, és naplókat naplóz DONE , amikor az összes beépülő modul befejeződik. |
Ha a Dev Proxy nem rögzíti a küldéskor {"recording": false}, a Dev Proxy nem dolgoz fel kéréseket, nem ír fájlokat, és nem naplóz DONE.
Tip
Ha leállítja a Dev Proxy használatát POST /proxy/stopproxy a rögzítés közben, a Dev Proxy a rögzített kéréseket is feldolgozza, mielőtt kilép. Az API azonban azonnal válaszol, ezért meg kell várnia, amíg a Fejlesztői proxy folyamat kilép, hogy megtudja, a jelentések készen állnak. Ha tudni szeretné, hogy mikor állnak készen a jelentések, először állítsa le a felvételt, várja meg a választ, majd állítsa le a Dev Proxyt.
A Dev Proxyt elindító, az API-n keresztüli rögzítést vezérlő és a Dev Proxy befejezésére váró teljes szkriptért tekintse meg a Dev Proxy használata CI/CD-forgatókönyvekben című témakört.
POST /proxy/jwtToken
JSON webes jogkivonatot (JWT) hoz létre.
Kérés:
POST http://localhost:8897/proxy/jwtToken
Authorization: Bearer <token>
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
}
Feljegyzés
A regisztrált jogcímek (például , iss, subaud, exp, nbf, ) iatjtiautomatikusan hozzáadódnak a jogkivonathoz. Ha a kérelemben bármelyik jogcímet megadja, az API figyelmen kívül hagyja a megadott értékeket.
Válasz:
200 OK
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IkRldiBQcm94eSIsInN1YiI6IkRldiBQcm94eSIsImp0aSI6IjkyZjM5YzciLCJzY3AiOlsiUG9zdC5SZWFkIiwiUG9zdC5Xcml0ZSJdLCJyb2xlcyI6ImFkbWluIiwiY2xhaW0xIjoidmFsdWUiLCJjbGFpbTIiOiJ2YWx1ZSIsImF1ZCI6Imh0dHBzOi8vbXlzZXJ2ZXIuY29tIiwibmJmIjoxNzI3MTk4MjgyLCJleHAiOjE3MjcyMDE4ODIsImlhdCI6MTcyNzE5ODI4MiwiaXNzIjoiZGV2LXByb3h5In0.E_Gj9E58OrAh9uHgc-TW8DYfq8YHFrhaUTpKA4yXEIg"
}
GET /proxy/logs
A Fejlesztői proxy naplójának kimenetét adja vissza. A parancs megfelelője logs . Ez a végpont csak akkor érhető el, ha a dev proxy leválasztásos módban fut. Ellenkező esetben az API ad vissza 404 Not Found.
| Lekérdezési paraméter | Leírás | Alapértelmezett |
|---|---|---|
lines |
A napló végétől visszaküldött sorok száma | 50 |
follow |
Amikor trueaz új naplósorokat kiszolgáló által küldött eseményként streameli |
false |
since |
Csak a megadott dátum és idő óta naplózott sorokat adja vissza. Használjon időtartamot (például 30s, 5m, 1h, ) 1dvagy ISO 8601 dátumot és időt (például 2026-01-24T14:00:00 vagy 2026-01-24T14:00:00Z). Ha az időbélyeg nem tartalmaz időzóna-eltolást, a Dev Proxy a helyi időzónát használja. |
n/a |
A since paraméter a naplósorokat a teljes dátum és idő alapján szűri, mind a naplósorok visszaadásakor, mind a streameléskor. A fejlesztői proxy az egyes kéréseket az indításkor szűri, így a megadott időpont előtt indított kérések nem lesznek visszaadva, még akkor sem, ha később fejeződött be.
Alapértelmezés szerint az API egyszerű szövegként adja vissza a naplósorokat. A naplóbejegyzések JSON-tömbjének lekéréséhez állítsa a fejlécet a Accept következőre application/json: . Ha kiszolgáló által küldött eseményként szeretné streamelni a naplósorokat, állítsa a Accept fejlécet a következőre text/event-stream vagy állítsa be follow a következőre true: .
Kérés:
GET http://localhost:8897/proxy/logs?lines=10
Authorization: Bearer <token>
Válasz:
200 OK
content-type: text/plain
[last 10 lines of the Dev Proxy log]
POST /proxy/mockrequest
Modellkérést hoz létre. Egyenértékű a W billentyű lenyomásával azon a konzolon, amelyen a Dev Proxy fut. Az API a modellkérelem befejeződése után válaszol.
Kérés:
POST http://localhost:8897/proxy/mockrequest
Authorization: Bearer <token>
Válasz:
204 No Content
GET /proxy/rootCertificate?format=crt
Letölti a főtanúsítvány nyilvános kulcsát PEM (Privacy Enhanced Mail) formátumban, amelyet a Dev Proxy a HTTPS-kérések visszafejtéséhez használ. Ez az API akkor hasznos, ha megbízhatónak szeretné minősíteni a főtanúsítványt a gazdagépen, miközben Dev Proxyt futtat egy Docker-tárolóban.
Jelenleg az egyetlen támogatott formátum a crt. Az API 400-es hibás kérési hibát ad vissza, ha bármilyen más formátumot ad meg, vagy egyáltalán nem ad meg formátumot.
Kérés:
GET http://localhost:8897/proxy/rootCertificate?format=crt
Authorization: Bearer <token>
Válasz:
content-type: application/x-x509-ca-cert
-----BEGIN CERTIFICATE-----
[base64 encoded certificate]
-----END CERTIFICATE-----
POST /proxy/stopproxy
Kecsesen leállítja a Dev Proxyt. Ha a Dev Proxy felvételt készít, leállítja a rögzítést, és jelentéseket hoz létre , mielőtt kilép. Az API azonnal válaszol, mielőtt a Dev Proxy leáll.
Kérés:
POST http://localhost:8897/proxy/stopproxy
Authorization: Bearer <token>
Válasz:
202 Accepted
A dev proxy azonnal visszatér 202 Accepted , amint elkezd leállni. A válasz nem jelenti azt, hogy a Dev Proxy kilépett. A leállítás során a Dev Proxy:
- Leállítja az új proxykérések fogadását. Ha a Dev Proxy rendszerproxyként van regisztrálva, visszaállítja az előző rendszerproxy-beállításokat. A fejlesztői proxy legfeljebb öt másodpercet vár a nyitott kapcsolatok bezárásáig, majd bezárja a fennmaradó kapcsolatokat.
- Leállítja a rögzítést, ha a rögzítés be van kapcsolva, és a rögzített kéréseken futtatja a jelentéskészítési beépülő modulokat, ugyanúgy, mint amikor leállítja a felvételt. Amikor a beépülő modulok befejeződnek, a Dev Proxy megírja a jelentéseket és a naplókat
DONE. - Eltávolítja a példány adatait, így
devproxy statusdevproxy stoptöbbé nem listázhatja. - Kilépés kilépési kóddal
0.
A fejlesztői proxy nem távolítja el a főtanúsítványt a megbízható tanúsítványtárolóból a leállításkor. A tanúsítvány eltávolításához használja a tanúsítvány eltávolítása parancsot.
A leállítás általában néhány másodpercet vesz igénybe. Hosszabb időt is igénybe vehet, ha a beépülő modulok nagy méretű felvételt dolgoznak fel. A leállítás indítása után az API már nem érhető el, ezért ne kérdezze le az API-t, hogy ellenőrizze, hogy a Dev Proxy kilépett-e. Ehelyett használja az alábbi lehetőségek egyikét:
- Várja meg, amíg
devproxy --detacha kinyomtatott folyamatazonosító (PID) kilép. - Futtassa
devproxy status --pid <pid>, amíg vissza nem adja a kilépési kódot1, ami azt jelenti, hogy a példány már nem fut. További információ: állapot. - Ha rögzítést végzett, ellenőrizze a Dev Proxy naplójában az üzenetet, amelyet a
DONEDev Proxy naplóz a jelentéskészítési beépülő modulok befejezése után. Példa: Dev Proxy használata CI/CD-forgatókönyvekben.
Várjon például arra, hogy egy leválasztott Dev Proxy-példány kilépjen Linux vagy macOS rendszeren:
# DEVPROXY_PID is the PID that devproxy --detach printed
# TOKEN is the API token from devproxy api token
curl -X POST http://localhost:8897/proxy/stopproxy -H "Authorization: Bearer $TOKEN"
while ./devproxy/devproxy status --pid $DEVPROXY_PID > /dev/null 2>&1; do
sleep 1
done
Kerülje a Dev Proxy folyamat kényszerítő befejezését, például a használatával kill -9. Ha így fejezi be a folyamatot, a Dev Proxy nem üríti ki a rögzítési vagy visszaállítási rendszerproxy beállításait. Ha le szeretné állítani a Dev Proxyt a parancssorból, használja a stop parancsot, amely meghívja ezt az API-t, és akár 10 másodpercet is vár, amíg a Dev Proxy kilép.
Modellek
ProxyInfo
Információk a jelenleg futó Dev Proxy-példányról.
| Tulajdonság | Típus | Leírás |
|---|---|---|
recording |
boolean |
Azt jelzi, hogy a proxy jelenleg rögzíti-e a kéréseket |
configFile |
string |
A Dev Proxy által használt konfigurációs fájl elérési útja (írásvédett) |
JwtOptions
JWT-jogkivonat létrehozásának lehetőségei.
| Tulajdonság | Típus | Leírás |
|---|---|---|
name |
string |
A jogkivonat létrehozásához használt felhasználó neve |
audiences |
string[] |
A jogkivonat létrehozásához szükséges célközönségek |
issuer |
string |
A jogkivonat kiállítója |
roles |
string[] |
A jogkivonathoz hozzáadni kívánt szerepkör-jogcím |
scopes |
string[] |
A jogkivonathoz hozzáadni kívánt hatókör-jogcím |
claims |
KeyValuePair |
A jogkivonathoz hozzáadni kívánt jogcímek |
validFor |
number |
Az időtartam (percben), amelyre a jogkivonat érvényes |
signingKey |
string |
A jogkivonat aláírásához használandó kulcs. Legalább 32 karakter hosszúnak kell lennie. Ha nincs megadva, véletlenszerűen létrehozott kulcsot használ. |
JwtInfo
Információ egy JWT-jogkivonatról.
| Tulajdonság | Típus | Leírás |
|---|---|---|
token |
string |
A JWT-jogkivonat |