在 GCP 工作流中调用 http 端点时,只有 HttpStatus 200 被认为是成功的。
如何处理其他成功状态代码?201、202 等
示例中的示例工作流程:
- readItem:
try:
call: http.get
args:
url: https://example.com/someapi
auth:
type: OIDC
result: APIResponse
except:
as: e
steps:
- knownErrors:
switch:
- condition: ${not("HttpError" in e.tags)}
next: connectionProblem
- condition: ${e.code == 404}
next: urlNotFound
- condition: ${e.code == 403}
next: authProblem
- UnhandledException:
raise: ${e}
- urlFound:
return: ${APIResponse.body}
- connectionProblem:
return: "Connection problem; check URL"
- urlNotFound:
return: "Sorry, URL wasn't found"
- authProblem:
return: "Authentication error"
如果 api 端点 https://example.com/someapi返回除 200 状态代码之外的任何内容,则调用 connectionProblem。
如果它是 GET 或 POST 请求,这也是一样的。
处理此问题的最佳方法是什么?