Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
För REST-slutpunkter talar svarshuvudet Location om för klienter var en ny resurs ska hämtas. Data API Builder (DAB) returnerar Location för POST infogningar. För PUT eller PATCH upserts som skapar nya rader kan rubriken utelämnas.
När DAB anger platsrubriken
| Scenario | Statuskod | Platsrubrik (aktuellt beteende) |
|---|---|---|
POST skapar en ny rad (tabell) |
201 Skapat | Närvarande: primärnyckelsökvägssegment, till exempel id/123 eller categoryid/3/pieceid/1. |
POST kör lagrad procedur som returnerar nya rader |
201 Skapat | Presentera om PK kan härledas; kan vara tom när det inte går. |
PUT upsert uppdaterar befintlig rad |
200 Okej | Finns inte |
PUT upsert infogar ny rad (ingen If-Match) |
201 Skapat | Kan utelämnas; lita inte på Location |
PATCH upsert uppdaterar befintlig rad |
200 Okej | Finns inte |
PATCH upsert infogar ny rad (ingen If-Match) |
201 Skapat | Kan utelämnas; lita inte på Location |
PUT
/
PATCH med If-Match: * och rad saknas |
404 – Hittades inte | Finns inte |
| Alla uppdateringar (raden fanns) | 200 Okej | Finns inte |
Beteende
- Sammansatta primära nycklar visas som ordnade segment, till exempel
book_id/1/id/5001ellercategoryid/3/pieceid/1. - Kolumnnamnmappningar (alias) använder de REST-exponerade fältnamnen i sökvägen.
Exempel: POST skapar ett nytt objekt
Begäran
POST /api/Books
Content-Type: application/json
{
"title": "New Book",
"publisher_id": 42
}
Svar
HTTP/1.1 201 Created
Location: http://localhost:50246/api/Books/id/123
Content-Type: application/json
{
"id": 123,
"title": "New Book",
"publisher_id": 42
}
Klienten kan nu GET http://localhost:50246/api/Books/id/123.
Exempel: POST-infogning i sammansatt nyckeltabell
Begäran
POST /api/Inventory
Content-Type: application/json
{
"categoryid": 3,
"pieceid": 1,
"categoryName": "SciFi"
}
Svar
HTTP/1.1 201 Created
Location: http://localhost:50246/api/Inventory/categoryid/3/pieceid/1
Content-Type: application/json
{
"categoryid": 3,
"pieceid": 1,
"categoryName": "SciFi"
}
Exempel: PUT uppdaterar befintlig rad (ingen plats)
Begäran
PUT http://localhost:50246/api/Books/id/1
Content-Type: application/json
{
"title": "Updated Title"
}
Svar
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"title": "Updated Title"
}
(Ingen Location rubrik.)
Exempel: PUT infogar ny rad
Begäran
PUT http://localhost:50246/api/Books/id/500
Content-Type: application/json
{
"title": "Inserted via PUT",
"publisher_id": 7
}
Svar
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 500,
"title": "Inserted via PUT",
"publisher_id": 7
}
(Location rubriken kan utelämnas här.)
Exempel: PUT med If-Match och rad saknas
Begäran
PUT http://localhost:50246/api/Books/id/500
If-Match: *
Content-Type: application/json
{
"title": "Attempted Update"
}
Svar
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"error": "No Update could be performed, record not found"
}
(Ingen Location rubrik.)
Review
-
POST med skapande:
Locationfinns med den primära nyckelsökvägen. -
PUT eller PATCH med uppdatering: Nej
Location. -
PUT eller PATCH med insert: Returns
201 Created;Locationkan utelämnas (beror inte på det). - När du inkluderar
If-Match: *utför DAB bara en uppdatering om raden redan finns. Om raden saknas misslyckas begäran med404 Not Foundoch ingen infogning utförs, så ingenLocationrubrik returneras.