własne API REST Google powrócić szczegółową odpowiedź w przypadku wystąpienia błędów, np:Powracający przyczyny błędów niestandardowych HTTP w chmurze Endpoints Google
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
}
],
"code": 400,
"message": "Invalid bookshelf ID."
}
}
w chmurze Endpoints Google dla Pythona, jest to możliwe na przykład raise endpoints.BadRequestException('Error message')
, ale oprócz komunikatu o błędzie chciałbym zwrócić "kod" lub "przyczynę", jak w powyższym przykładzie. Czy jest jakiś sposób, aby to osiągnąć?
Mogą być różne warunki błędu związane z tym samym kodem stanu HTTP. Jeśli klient API chce działać inaczej w oparciu o te warunki błędu, w jaki sposób możemy je rozróżnić? Z pewnością klient może przeanalizować wiadomość, ale wydaje się, że jest hackerem. Byłoby lepiej mieć oddzielne pola dla wiadomości i kodu/przyczyny błędu. – Docent
Problem polega na tym, że komunikat wymaga ręcznego parsowania ciągu po stronie klienta, zmuszając go do utworzenia wyjątków na końcu, a następnie do obsługi lub analizowania ciągów na poziomie interfejsu API. –