Intention
Zum Testen / Aufrufen von REST-API’s benötigt man am Besten einen Client, der nicht unbedingt im Webspace der selben Domain gehostet ist, da man Testen möchte ob die Cross-Origin Resource Policy (CORP) / Cross Site Policy korrekt konfiguriert ist.
Problem
Würde man einen Javascript-REST-Client im Web-Root / wwwroot / inetpub der selben Domain hosten, könnte dieser ohne Verletzung der Policy auf die REST-Services der selben Domain zugreifen. Würde man die Endpoints / Endpunkte an einen Konsumenten weitergeben, könnte dieser bei einer Fehlkonfiguration diese trotzdem nicht aufrufen.
Beispiel für einen Javascript-REST-Client, der durch den Response-Body ein JSON-Array iteriert (für Tests nicht empfohlen):
<button id="loadData">Get Rides</button>
<div id="rideData"></div>
<script>
async function fetchRideData() {
const response = await fetch("/Ride");
if (!response.ok) {
document.getElementById("rideData").innerText = "Fehler beim Laden der Daten.";
return;
}
const data = await response.json();
let html = "<ul>";
data.forEach(item => {
html += `<li>ID: ${item.id}, Datum: ${item.timestamp}, GPS Position: ${item.gpS_Position}, Kennzeichen: ${item.kennzeichen}</li>`;
});
html += "</ul>";
document.getElementById("rideData").innerHTML = html;
}
document.getElementById("loadData").addEventListener("click", fetchRideData);
</script>
Lösung
Die Extension „REST Client“ kann als autarker REST-Client, der nicht in der Domäne des Webspaces läuft, sondern lokal vom Rechner aus den Aufruf tätigt, genutzt werden:

Im Screenshot oben wurde die Extension „REST Client“ installiert und eine neue Datei mit dem Namen „restapi.http“ angelegt.
Die Datei hat den folgenden Inhalt (im Body wird ein JSON-Array übermittelt, dieses müsste dem Service entsprechend ersetzt werden):
POST https://www.domain.info/GenericRequest
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-WS-RateLimit-Limit: 1000
X-WS-RateLimit-Remaining: 999
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Wed, 07 May 2025 10:27:38 GMT
[ {
"ts": 1530536430,
"lat":-34.1868759,
"lng":-56.9065776,
"head": 30,
"speed": 50,
"id": "SBV3399",
"temp": "20",
"motor":"on"
},
{
"ts": 1530536430,
"lat":-34.1868759,
"lng":-56.9065776,
"head": 0,
"speed": 50,
"id": "MAV4099",
"temp": "8",
"motor":"off"
}]
Fazit
REST API’s lassen sich am Besten mit einem REST-Client testen / aufrufen, der nicht auf dem Domain-Space läuft, auf dem die Endpunkte gehostet sind um CORP zu testen. Dies verhindert unangenehme Überraschungen zwischen der aufrufenden und aufzurufenden Seite.