REST (Representational State Transfer) är en arkitekturstil för att designa nätverksbaserade webb-API-tjänster över HTTP.
HTTP-metoder & Semantik
| Metod | Målåtgärd | Säker | Idempotent |
|---|---|---|---|
GET |
Hämta resursrepresentation | Ja | Ja |
POST |
Skapa en ny underordnad resurs | Nej | Nej |
PUT |
Ersätt hela resursrepresentationen | Nej | Ja |
PATCH |
Uppdatera resursegenskaper partiellt | Nej | Nej |
DELETE |
Ta bort resurs | Nej | Ja |
HEAD |
Hämta headers utan svarskopp | Ja | Ja |
OPTIONS |
Fråga vilka HTTP-metoder slutpunkten stöder | Ja | Ja |
Vanliga HTTP-statuskoder
Framgång (2xx)
200 OK: Begäran lyckades (svarstexten innehåller representation).201 Created: Resursen skapades (Location-headern anger URI).202 Accepted: Begäran har accepterats för asynkron bearbetning.204 No Content: Åtgärden lyckades, ingen svarskopp returneras (vanligt vidDELETE).
Klientfel (4xx)
400 Bad Request: Felaktig syntax, ogiltiga parametrar eller valideringsfel.401 Unauthorized: Autentisering saknas eller är ogiltig.403 Forbidden: Autentiserad användare saknar behörighet till resursen.404 Not Found: Resursens URI finns inte.409 Conflict: Begäran står i konflikt med resursens tillstånd (t.ex. duplicerad nyckel).422 Unprocessable Entity: Välformad begäran misslyckades i semantisk domänvalidering.429 Too Many Requests: Hastighetsgräns (Rate Limit) överskriden.
Serverfel (5xx)
500 Internal Server Error: Allmänt ohanterat serverfel.502 Bad Gateway: Uppströmsservern returnerade ett ogiltigt svar.503 Service Unavailable: Servern är överbelastad eller under underhåll.
Standardiserat JSON-felkuvert
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The email address provided is already registered.",
"details": [
{
"field": "email",
"issue": "unique_constraint_violated"
}
]
}
}