basedata.py
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from flask import jsonify, request
from app.models import Basedata
from app.api.auths import Auth
from app import common
from app import db
from app.api import bp
from app.api.errors import bad_request
# def init_api(app):
@bp.route('/basedata', methods=['POST'])
def create_basedata():
"""
创建配置
:return: json
"""
data = request.get_json()
if not data:
return bad_request('You must post JSON data.')
message = {}
if 'device_model' not in data or not data.get('device_model'):
message['device_model'] = 'device_model is required.'
if message:
return bad_request(message)
basedata = Basedata()
basedata.from_dict(data)
db.session.add(basedata)
db.session.commit()
response = jsonify(basedata.to_dict())
response.status_code = 201
# HTTP协议要求201响应包含一个值为新资源URL的Location头部
# response.headers['Location'] = url_for('api.get_post', id=post.id)
return response
# @bp.route('/basedatas/', methods=['GET'])
# def get_basedatas():
# '''返回配置'''
# page = request.args.get('page', 1, type=int)
# per_page = min(
# request.args.get(
# 'per_page', 10, type=int), 100)
# data = Product.to_collection_dict(
# Product.query.order_by(Product.testtime.desc()), page, per_page,
# 'api.get_products')
# return jsonify(data)
@bp.route('/basedatas/<int:id>', methods=['GET'])
def get_basedata(id):
'''返回配置'''
basedata = Basedata.query.get_or_404(id)
# post.views += 1
# db.session.add(post)
# db.session.commit()
return jsonify(basedata.to_dict())
@bp.route('/basedatas/<int:id>', methods=['PUT'])
def update_basedata(id):
'''修改配置'''
basedata = Basedata.query.get_or_404(id)
# if g.current_user != post.author:
# return error_response(403)
data = request.get_json()
if not data:
return bad_request('You must post JSON data.')
message = {}
if 'device_model' not in data or not data.get('device_model'):
message['device_model'] = 'device_model is required.'
if message:
return bad_request(message)
basedata.from_dict(data)
db.session.commit()
return jsonify(basedata.to_dict())