Недавно я пытался добавить API, используя flask -restx. У меня какая-то неприятность, даже когда я работаю в helloworld.
У меня есть все в чертежах, поэтому имеет смысл только поместить API в свой собственный проект. Ниже мой api_routes.py
from flask_login import current_user, login_user, logout_user, login_required
from flask_restx import Resource, Api
from flask import Blueprint
import flask
from . import db
api_bp = Blueprint('api_bp', __name__, url_prefix='/api')
api = Api(api_bp, version='1.0', title='Scribe API',
description='An API for interfacing with Scribe',
)
@api_bp.route("/hello")
class HelloWorld(Resource):
def get(self):
return "Hello"
api.add_resource(HelloWorld, '/hello')
Однако, если вы go на пользовательский интерфейс чванства и отправляете вот так:
curl -X GET "http://127.0.0.1:5000/api/hello" -H "accept: application/json"
Ответ 500:
TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a HelloWorld.
Так что по какой-то странной причине я возвращаю класс, а не фактическую возвращаемую строку «Hello». У кого-нибудь есть идея, почему это так и как это исправить?