我正在运行一个带有swagger、flask restx 的rest api
然而,我的问题是在招摇过市的UI中(http://127.0.0.1:5000/?(在测试端点时,响应正文中的阿拉伯文本将作为交换字符\u0645\u0635\u0646\u0648\u0639 \u0645
返回使用邮递员时出现相同问题
当使用高级文本请求包或在浏览器中简单输入URL时(我有一个jsonify扩展(不会出现问题
这是我的代码的缩短版本
@app.route('/products')
def products():
# logic with database
return JSONEncoder().encode(products)
name_space = api.namespace('product', description='Product API')
@name_space.route("/")
class ProductClass(Resource):
def get(self):
return make_response(products())
当我调用端点products
时,它工作正常,但当我调用product
时,它不工作。
在Python中定义以下函数:
def inverse_repr(a_string):
a_string = repr(a_string)
a_string = a_string.replace('\\','\')
# encode/decode stuff
return a_string.strip("'").encode().decode("unicode-escape")
示例用法:
print( inverse_repr('\u0645\u0635\u0646\u0648\u0639 \u0645') )
print( inverse_repr('\x43\x69\x74\x72\x6f\xeb\x6e') )
print( inverse_repr('d\xE9j\xE0 vu') )
print( inverse_repr('\U0001F5B6 Printer Icon') )
结果:
مصنوع م
Citroën
déjà vu
🖶 Printer Icon