Hoppa till huvudinnehållet

Okänt fält

typehttps://docs.frem.sh/reference/api/errors/unknown-field
HTTP status400 Bad Request

Vad det betyder

Begärans innehåll hade ett fält som endpointen inte känner igen, så den avvisades i stället för att ignoreras.

Endpoints som tar emot partiella uppdateringar behandlar ett fält som saknas som “låt det här vara”. Ett fältnamn som de inte känner till går inte att skilja från ett som saknas, så att ignorera det i tysthet skulle ge 200 för en ändring som aldrig gjordes. De här endpointerna nekar därför hela begäran i stället.

Exempel på detail-meddelanden som returneras med det här felet:

  • Unrecognised field(s): “securityAutomerge” (did you mean “security_automerge”?). Accepted fields are: enabled, automerge_patch, automerge_minor, major_approval, security_automerge, schedule, pr_hourly_limit, pr_concurrent_limit.
  • Unrecognised field(s): “automerge_everything”. Accepted fields are: enabled, automerge_patch, automerge_minor, major_approval, security_automerge, schedule, pr_hourly_limit, pr_concurrent_limit.

Vad du gör

Läs detail: det namnger varje fält som inte kändes igen och listar de fält som endpointen tar emot.

Kontrollera skiftläget först. Fälten i en begäran skrivs i snake_case, som de underliggande kolumnnamnen. Flera endpoints serialiserar sina svar i camelCase, så den vanligaste orsaken till felet är att man kopierar ett fältnamn ur ett svar och skickar tillbaka det. När fältet du skickade är en camelCase-stavning av ett verkligt fält anger detail rätt stavning.

// rejected - camelCase, as returned in a response body
{ "securityAutomerge": true }

// accepted
{ "security_automerge": true }

Annars jämför du innehållet med begärans schema i OpenAPI-specifikationen.

Svarets form

Alla fel från fremforges API är RFC 9457 problem+json:

{
  "type": "https://docs.frem.sh/reference/api/errors/unknown-field",
  "title": "Bad Request",
  "status": 400,
  "detail": "..."
}

Styr din felhantering på type, inte på title eller detail: de är skrivna för människor och kan formuleras om.