'message': fields.String(description='return message') }) file_model = api.model('file', { 'file': fields.Raw(description='audio file') }) user_data = api.model('user', { '_id': fields.String(readonly=True, description="The user identifier"), 'username': fields.String(required=True, description='username'), 'nameFirst': fields.String(description='First name'), 'nameLast': fields.String(description='Last name'), 'gender': fields.String(description='Gender'), 'email': fields.String(description='E-mail'), }) user_register = api.clone('userRegister', user_data, { 'password': fields.String(required=True, description='Password', min_length=4) }) user_edit_data = api.clone('userEdit', user_register, { 'password': fields.String(required=False), 'username': fields.String(readonly=True, description="Username", required=False) }) user_login = api.model('userLogin', { 'username': fields.String(required=True, description='Username'), 'password': fields.String(required=True, description='Password') }) access_token_model = api.model('accessToken', { 'access_token': fields.String(require=True, description="User's access token for") }) user_response_model = api.model('userResponse', {
"stateFipsCode": fields.String(), "stationName": fields.String(), "stationIx": fields.String( ), #Whereas most fields come from the ddot ingester service, this field is added by the transformer service "tertiaryUseOfSiteCode": fields.String(), "tertiaryUseOfWaterCode": fields.String(), "timeZoneCode": fields.String(), "topographicCode": fields.String(), "wellDepth": fields.String(), }) location_model = api.clone( 'LocationModel', ddot_location_model, { "created": fields.String(), "createdBy": fields.String(), "decimalLatitude": fields.Integer(), "decimalLongitude": fields.Integer(), "id": fields.Integer(), "updated": fields.String(), "updatedBy": fields.String(), }) validate_location_model = api.model( 'ValidateLocationModel', { 'ddotLocation': fields.Nested(ddot_location_model), 'existingLocation': fields.Nested(location_model) }) error_model = api.model('ErrorModel', {'error_message': fields.String(required=True)}) validation_model = api.model(
ns = api.namespace('spots', description='位置') spot_base = api.model( '地点基本信息', { 'id': fields.Integer(readonly=True, description='地点ID'), 'x': fields.Float(description='坐标x'), 'y': fields.Float(description='坐标y'), 'name': fields.String(description='地点名称'), }) spot = api.clone( '地点详细信息', spot_base, { 'pH': fields.Float(description='pH值'), 'DO': fields.Float(description='溶解氧'), 'PP': fields.Float(description='高锰酸盐'), 'AN': fields.Float(description='氨氮'), 'P': fields.Float(description='磷'), 'Cd': fields.Float(description='镉'), 'As': fields.Float(description='砷'), 'Pb': fields.Float(description='铅'), 'level': fields.Integer(description='等级') }) @ns.route('/') class SpotListResource(Resource): @ns.marshal_list_with(spot_base) def get(self): '''获取所有地点''' return Spot.query.all()
fields.Integer(), # ID 测试 'datetime': fields.DateTime(), # 时间格式 'date': fields.Date(), # 日期 'bool': fields.Boolean(skip_none=True), # 布尔型(可以在models或者expect中定义skip_none) 'contact': fields.Nested(sub_model), # 内嵌字典类型 'friends': fields.List(fields.Nested(friend_model)) # 内嵌列表 }) person_model = api.clone( 'Person', resp_model, { # clone继承(api方式继承) 'weight': fields.Float(), # 体重 }) m_model = Model('m model', { 'name': fields.String, 'address': fields.String, }) c_model = m_model.clone( 'c model', { # 这种方式和api.clone有一些不同 'age': fields.Integer, }) @marshal_with(c_model, skip_none=True)
"lastonline": elapsedtime(attribute="lastseen"), "homeserver": fields.String, "joined": elapsedtime(attribute="firstseen"), "playedtime": plytime(attribute="playedtime"), }, ) m_fullplayerinfo = api.clone( "playerinfo", m_minplayerinfo, { "server": fields.String, "connections": fields.Integer(attribute="connects"), "rewardpoints": fields.Integer, "transferpoints": fields.Integer, "lotteryswon": fields.Integer(attribute="lottowins"), "lotterywinnings": fields.Integer, "totalauctions": fields.Integer, "itemauctions": fields.Integer, "dinoauctions": fields.Integer, "primordialwarning": int2bool(attribute="primordialbit"), "onsincerestart": int2bool(attribute="restartbit"), }, ) m_lotteryplayers = api.clone( "lotteryplayerinfo", m_minplayerinfo, { "lotteryswon": fields.Integer(attribute="lottowins"), "lotterywinnings": fields.Integer,