gpt4 book ai didi

python - 使用用户定义的类作为值序列化 Python 中的字典 (Flask)

转载 作者:太空宇宙 更新时间:2023-11-03 20:55:44 25 4
gpt4 key购买 nike

我有一个字典,其中包含 Integer 键和 Person 类作为值。我的 GET by user id 方法有效,但我的 GET UserList 方法无效。

我的 GET UserList 方法正在返回:

{
"name": null,
"age": 0,
"address": null,
"city": null,
"state": null,
"zip_code": null
}

代码片段:

from flask import Flask, request, abort
from flask_restful import Api, Resource, fields, marshal_with

user_fields = {
'name': fields.String,
'age': fields.Integer,
'address': fields.String,
'city': fields.String,
'state': fields.String,
'zip_code': fields.String
}

class User(Resource):
@staticmethod
@marshal_with(user_fields)
def get(path_user_id):
# Checks to make sure the user exists otherwise throws an error
if path_user_id not in user_dict:
abort(400)

return user_dict.get(path_user_id)

# This one is not working
class UserList(Resource):
@staticmethod
@marshal_with(user_fields)
def get():
return user_dict.items()

class Person:
def __init__(self, name, age, address, city, state, zip_code):
self.name = name
self.age = age
self.address = address
self.city = city
self.state = state
self.zip_code = zip_code

最佳答案

您正在使用 user_fields 编码 UserList 的 get 方法,就像在 User 中一样,因此响应被编码为具有相同的值格式。

关于python - 使用用户定义的类作为值序列化 Python 中的字典 (Flask),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56047715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com