Zwracanie informacji o błędzie razem z danymi

Zwracanie informacji o błędzie razem z danymi
siloam
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 99
0

Mam obiekt JSON typu:

Kopiuj
{
"foo": {
"foo": "bar"
}
}

gdzie bar jest wartością błędną. Z tego względu chciałbym dołączyć w branchu z błędem właściwość "error":

Kopiuj
{
"foo": {
"foo": "bar"
"error": "This bar was eaten"
}
}

Czy istnieje jakaś biblioteka lub technika programistyczna pozwalająca osiągnąć taki efekt: (destrukturyzacja obiektu, dorzucenie błędu, ponowne złożenie w całość (tym razem z błędem w miejscu, którego on dotyczy)).

Dodam, że to JSON z wieloma zagnieżdżeniami.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Każdy język programowania kompletny w sensie Turinga, w szczególności jq.

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
0
siloam napisał(a):

Mam obiekt JSON typu:

Kopiuj
{
"foo": {
"foo": "bar"
}
}

gdzie bar jest wartością błędną. Z tego względu chciałbym dołączyć w branchu z błędem właściwość "error":

Kopiuj
{
"foo": {
"foo": "bar"
"error": "This bar was eaten"
}
}

Czy istnieje jakaś biblioteka lub technika programistyczna pozwalająca osiągnąć taki efekt: (destrukturyzacja obiektu, dorzucenie błędu, ponowne złożenie w całość (tym razem z błędem w miejscu, którego on dotyczy)).

Dodam, że to JSON z wieloma zagnieżdżeniami.

  1. GraphQL wydaje się zbieżny z twoimi oczekiwaniami (na ile rozumiem).

  2. natomiast myśleć o twoim deko niejasnym pytaniu można w przeróżny sposób, np i ten, że mocne zapotrzebowanie na przekazanie opisu błędu ("tym razem z błędem w miejscu, którego on dotyczy") wynika z niewłaściwego rozcięcia obu stron komunikacji.

  3. Ja mam w tym zakresie b.dobre wyniki z łączem przez Apache Thrift, potrafi przekazać klientowi również przepakowane wyjątki, które zaszły na serwerze (oczywiście tzreba tego chcieć i coś tam zrobić).

Na monokulturze REST/JSON świat się nie kończy

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.