Gå til hovedinnhold

Ukjent felt

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

Hva det betyr

Forespørselskroppen inneholdt et felt som endepunktet ikke kjenner igjen, så den ble avvist i stedet for at feltet ble ignorert.

Endepunkter som godtar delvise oppdateringer, tolker et felt som mangler, som «la dette være». Et feltnavn de ikke kjenner, kan ikke skilles fra et som mangler, så å ignorere det i det stille ville gitt 200 for en endring som aldri skjedde. Disse endepunktene avviser derfor hele forespørselen i stedet.

Eksempler på detail-meldinger som returneres med denne feilen:

  • 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.

Hva du gjør

Les detail: den nevner hvert felt som ikke ble kjent igjen, og lister opp feltene endepunktet godtar.

Sjekk skrivemåten først. Feltene i forespørsler skrives i snake_case, som de underliggende kolonnenavnene. Flere endepunkter serialiserer svarene sine i camelCase, så å kopiere et feltnavn ut av et svar og sende det tilbake er den vanligste årsaken til denne feilen. Når feltet du sendte, er en camelCase-skrivemåte av et ekte felt, nevner detail riktig skrivemåte.

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

// accepted
{ "security_automerge": true }

Ellers sammenligner du forespørselskroppen med skjemaet for forespørselen i OpenAPI-spesifikasjonen.

Svarformat

Alle feil fra fremforge-API-et er RFC 9457 problem+json:

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

La koden din skille feilene på type, ikke på title eller detail – de er skrevet for mennesker og kan bli formulert om.