【发布时间】:2021-06-03 03:06:34
【问题描述】:
所以我正在使这个 API 与我的 Vue 前端一起工作,起初一切正常,但我不知道前端突然发生的事情无法正确显示检索到的数据,我正在使用数据选择它只显示空选项。当我在邮递员上检查 API 返回的数据时,它显示如下:
[
[
//my data here
],
{}
]
如您所见,儿子的末尾有一个空的大括号,我怀疑这就是前端无法正确显示数据的原因,但如果不是这样,那我不知道什么是...请帮帮我...
这是我的前端代码:
<select v-model="cpuSelect" name="cpu" id="cpu" class="form-control" tabindex="12">
<option v-for="cpu in cpus" :key="cpu.id">{{ cpu.Name }}</option>
</select>
以及 vue 中的脚本:
import axios from 'axios';
export default {
data() {
return {
cpus: [],
cpuSelect: ''
}
},
async mounted() {
this.load()
},
methods: {
async load(){
const response = await axios.get(`http://127.0.0.1:5000/api/v1/parts/cpu`)
this.cpus = response.data
}
}
}
对于烧瓶模型:
class cpu(db.Model):
id = db.Column(db.Integer, primary_key=True)
Name = db.Column(db.String)
Socket = db.Column(db.String)
@staticmethod
def get_all_cpu():
return cpu.query.all()
@staticmethod
def get_cpu(id):
return cpu.query.get(id)
def __repr(self):
return '<id {}>'.format(self.id)
class cpuSchema(Schema):
id = fields.Int(dump_only=True)
Name = fields.Str(dump_only=True)
Socket = fields.Str(dump_only=True)
还有烧瓶视图:
@parts_api.route('/cpu', methods=['GET'])
def get_all_cpu():
cpu_query_all = cpu.get_all_cpu()
data = cpu_schema.dump(cpu_query_all, many=True)
return custom_response(data, 200)
def custom_response(res, status_code):
"""
Custom Response Function
"""
return Response(
mimetype="application/json",
response=json.dumps(res),
status=status_code
)
请帮帮我...
【问题讨论】:
-
custom_response里面的逻辑是什么?
-
@EpicChen 哦,对了,我忘记添加了
-
@EpicChen 你现在可以在我的烧瓶视图 sn-ps 上看到 custom_response
-
仍然缺少 cpu_schema.dump 中的逻辑。你会格式化烧瓶模型的代码吗?
-
@EpicChen 是从我的postgresql数据库中查询数据并将其转储为json,我不明白你的意思是格式化烧瓶模式的代码,但是如果你想看看我的烧瓶模型我已经将它包含在我的问题中
标签: rest vue.js flask vue-component