7

Falconアプリケーションのミドルウェアを作成しています。エラーが発生したら、エラーを発生させ、プロセスを中断し、カスタム応答を返します。次のようになります。

{
   "status": 503,
   "message": "No Token found. Token is required."
}

しかし、標準Falconエラーの実装では、応答にカスタム フィールドを設定できません。

この問題を最も適切に解決するにはどうすればよいですか?

4

4 に答える 4

6

多くの時間を費やした後、私はこの問題を非常に興味深い方法で解決しました。コードを try/catch ブロックに入れ、エラーがキャッチされたときにエラーを発生させないことに決め、応答ステータスと本文を設定した後にキーワードFalconを書き込もうとしました。メソッドがであるため、何も返されません。次のようになります。returnvoid

resp.status = falcon.HTTP_403
resp.body = body

return
于 2016-12-12T15:24:09.397 に答える
1
raise falcon.HTTPError(falcon.HTTP_503, 'No Token found. Token is required.')
于 2018-04-22T00:47:49.453 に答える