概要
flasgger の 404 はデフォルトだと HTML が返ってきます
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>
API の場合は JSON のほうが良いという場合がほとんどだと思います
今回は flasgger で 404 ページをカスタマイズする方法を紹介します
環境
- macOS X 10.13.6
- Python 3.6.5
- flasgger 0.9.0
404 時のエラーレスポンスを返却するメソッドを追加
flask の errorhandler
という機能を使います
app = Flask(__name__)
@app.errorhandler(404)
def not_found(error):
return Response(
json.dumps({'error': 'not found path'}),
status=404
)
これを適当な場所に定義すれば OK です
ちなみに必要な import は以下の通り
import json
from flask import Response
from flask import Flask
最後に
flasgger で 404 ページをカスタマイズする方法を紹介しました
flask の機能を使うことで解決することができます
flasgger は flask や marshmallow, apispec などいろいろなサードパティツールを使っているのでそれらを使うことで解決できることは多いと思います
0 件のコメント:
コメントを投稿