Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Em muitas situações, convém usar códigos de status HTTP comuns para indicar o sucesso ou a falha da solicitação de API de um usuário. Por exemplo, se um usuário está tentando recuperar uma entidade que não existe, você pode querer enviar um código de status HTTP 404 para dizer que nenhuma entidade com o ID entity_id existe.
É possível enviar esses códigos de status HTTP comuns gerando uma exceção fornecida pela biblioteca do Endpoints desta maneira:
message='No entity with the id "%s" exists.'%entity_idraiseendpoints.NotFoundException(message)
Exceções fornecidas pelo Endpoints Frameworks
A biblioteca do Endpoints fornece as exceções a seguir, correspondentes a códigos de status HTTP específicos:
Exceção
Código de status HTTP correspondente
endpoints.BadRequestException
HTTP 400
endpoints.UnauthorizedException
HTTP 401
endpoints.ForbiddenException
HTTP 403
endpoints.NotFoundException
HTTP 404
endpoints.InternalServerErrorException
HTTP 500
Códigos de status HTTP compatíveis
O Cloud Endpoints Frameworks é compatível com um subconjunto de códigos de status HTTP nas respostas da API. A tabela a seguir descreve os códigos compatíveis.
Códigos de status HTTP
Compatibilidade
HTTP 2xx
HTTP 200 é normalmente assumido pelo Endpoints Frameworks se o método da API retornar com sucesso. Se o tipo de resposta do método da API for VoidMessage ou o valor de retorno do método da API for None, HTTP 204 é definido em vez disso.
HTTP 3xx
Códigos HTTP 3xx não são compatíveis. O uso de qualquer código HTTP 3xx resulta em uma resposta HTTP 404.
HTTP 4xx
Apenas os seguintes códigos HTTP 4xx são compatíveis:
400
401
403
404
409
410
412
413
Quaisquer outros códigos HTTP 4xx são retornados como erro 404, com exceção dos seguintes:
405 é retornado como 501
408 é retornado como 503
HTTP 5xx
Todos os códigos de status HTTP 5xx são convertidos em HTTP 503 na resposta do cliente.
Como criar classes de exceção próprias
Se você quiser criar outras classes de exceção para outros códigos de status HTTP, poderá fazer isso com a subclasse endpoints.ServiceException. O snippet a seguir mostra como criar uma classe de exceção que representa um código de status HTTP 409.
importendpointsimporthttplibclassConflictException(endpoints.ServiceException):"""Conflict exception that is mapped to a 409 response."""http_status=httplib.CONFLICT
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-08 UTC."],[[["Endpoints Frameworks allows for the use of common HTTP status codes to indicate the success or failure of API requests, such as using a `404` error to indicate an entity does not exist."],["Specific exceptions, like `BadRequestException`, `UnauthorizedException`, `ForbiddenException`, `NotFoundException`, and `InternalServerErrorException`, are provided by the endpoints library and correspond to specific HTTP error codes."],["Only a subset of HTTP status codes are supported, where HTTP `200` or `204` is used for success, 3xx codes result in a `404` error, specific 4xx codes are supported, and all 5xx codes are converted to `503`."],["Uncaught exceptions in the application will result in an HTTP `503` error from the backend API."],["Custom exception classes for other HTTP status codes can be made by subclassing `endpoints.ServiceException`, as shown in the example of creating a `ConflictException` for an HTTP 409 status code."]]],[]]