v0.5.8: openapi.json — готовая JSON-строка в памяти, без jsonify на каждый запрос
This commit is contained in:
@@ -10,7 +10,9 @@ Swagger UI загружает этот JSON через /swagger и рендер
|
||||
|
||||
import os
|
||||
|
||||
from flask import Blueprint, jsonify
|
||||
import json
|
||||
|
||||
from flask import Blueprint, jsonify, Response
|
||||
|
||||
import config.loader as _cfg
|
||||
|
||||
@@ -36,11 +38,11 @@ def _build_servers():
|
||||
|
||||
@bp.route("/openapi.json", methods=["GET"])
|
||||
def openapi_spec():
|
||||
"""GET /api/v1/svc/openapi.json — OpenAPI 3.1.0 спецификация (кешируется)."""
|
||||
"""GET /api/v1/svc/openapi.json — OpenAPI 3.1.0 спецификация (кеш в памяти)."""
|
||||
global _SPEC_CACHE
|
||||
if _SPEC_CACHE is None:
|
||||
_SPEC_CACHE = _build_spec()
|
||||
return jsonify(_SPEC_CACHE)
|
||||
_SPEC_CACHE = json.dumps(_build_spec(), ensure_ascii=False)
|
||||
return Response(_SPEC_CACHE, mimetype="application/json")
|
||||
|
||||
|
||||
def _build_spec():
|
||||
|
||||
Reference in New Issue
Block a user