Flask restx返回类不是实际的返回字符串

Flask restx返回类不是实际的返回字符串,flask,Flask,最近我一直在尝试使用flask restx添加api。我有一些toruble,甚至让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 i

最近我一直在尝试使用flask restx添加api。我有一些toruble,甚至让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')
但是,如果您转到“招摇过市”用户界面并发送一条类似于这样的信息:

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”的实际返回字符串。有人知道这是为什么以及如何修复吗?

我在发布这篇文章后不久决定继续,结果发现名称空间是必需的,您可以用下面的代码修复我上面的代码以创建名称空间。这将使基本helloworld正常工作

hello_ns = api.namespace('', description='Hello World Operations')

@hello_ns.route("/hello")
class HelloWorld(Resource):
    def get(self):
        return "Hello"