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.
REST-végpontok esetén a válaszfejléc tájékoztatja az Location ügyfeleket arról, hogy hol kell lekérni egy újonnan létrehozott erőforrást. A Data API Builder (DAB) a beszúrásokat LocationPOST adja vissza. Az PUT új sorokat létrehozó vagy PATCH az új sorokat létrehozó upserts esetében előfordulhat, hogy a fejléc nem jelenik meg.
Amikor a DAB beállítja a Hely fejlécet
| Scenario | Állapotkód | Helyfejléc (jelenlegi viselkedés) |
|---|---|---|
POST új sort (táblázatot) hoz létre |
201 Létrehozva | Jelenlegi: elsődleges kulcs elérési útja szegmensek, például id/123 vagy categoryid/3/pieceid/1. |
POST új sorokat visszaadó tárolt eljárást hajt végre |
201 Létrehozva | Jelen van, ha a PK származtatható; lehet, hogy üres, ha nem. |
PUT upsert a meglévő sor frissítése |
200 OK | Nincs jelen |
PUT upsert új sort szúr be (nincs If-Match) |
201 Létrehozva | Kihagyható; ne hagyatkozz Location |
PATCH upsert a meglévő sor frissítése |
200 OK | Nincs jelen |
PATCH upsert új sort szúr be (nincs If-Match) |
201 Létrehozva | Kihagyható; ne hagyatkozz Location |
PUT
/
PATCH with If-Match: * and row missing |
404 Nem található | Nincs jelen |
| Bármilyen frissítés (sor létezik) | 200 OK | Nincs jelen |
Magatartás
- Az összetett elsődleges kulcsok rendezett szegmensekként jelennek meg, például
book_id/1/id/5001vagycategoryid/3/pieceid/1. - Az oszlopnév-leképezések (aliasok) az elérési út REST által közzétett mezőneveit használják.
Példa: POST új elem létrehozása
Kérelem
POST /api/Books
Content-Type: application/json
{
"title": "New Book",
"publisher_id": 42
}
Válasz
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
}
Az ügyfél most már GET http://localhost:50246/api/Books/id/123tud .
Példa: POST beszúrása összetett kulcstáblába
Kérelem
POST /api/Inventory
Content-Type: application/json
{
"categoryid": 3,
"pieceid": 1,
"categoryName": "SciFi"
}
Válasz
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"
}
Példa: PUT meglévő sor frissítése (nincs hely)
Kérelem
PUT http://localhost:50246/api/Books/id/1
Content-Type: application/json
{
"title": "Updated Title"
}
Válasz
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"title": "Updated Title"
}
(Nincs Location fejléc.)
Példa: PUT új sor beszúrása
Kérelem
PUT http://localhost:50246/api/Books/id/500
Content-Type: application/json
{
"title": "Inserted via PUT",
"publisher_id": 7
}
Válasz
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 500,
"title": "Inserted via PUT",
"publisher_id": 7
}
(Location a fejléc itt kihagyható.)
Példa: PUT If-Match és hiányzó sor
Kérelem
PUT http://localhost:50246/api/Books/id/500
If-Match: *
Content-Type: application/json
{
"title": "Attempted Update"
}
Válasz
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"error": "No Update could be performed, record not found"
}
(Nincs Location fejléc.)
Felülvizsgálat
-
POST létrehozással:
Locationaz elsődleges kulcs elérési útjával együtt jelen van. -
PUT vagy PATCH frissítéssel: Nem
Location. -
PUT vagy PATCH with insert: Returns
201 Created;Locationis kihagyható (nem függ attól). - A belefoglaláskor
If-Match: *a DAB csak akkor hajt végre frissítést, ha a sor már létezik. Ha a sor hiányzik, a kérés sikertelen404 Not Foundlesz, és nem történik beszúrás, ezért nemLocationad vissza fejlécet.