-
Notifications
You must be signed in to change notification settings - Fork 0
/
user.py
51 lines (40 loc) · 1.55 KB
/
user.py
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
from flask import jsonify, Flask
from . import api
from models import Student, db
from flask import request
from flask_jwt import jwt_required
@api.route('/users', methods=['GET', 'POST'])
def users():
if request.method == 'POST':
data = request.get_json()
userid = data.get('userid')
username = data.get('username')
number = data.get('number')
re_number = data.get('re-number')
if not (userid and username and number and re_number):
return jsonify({'error': 'No arguments'}), 400
if number != re_number:
return jsonify({'error': 'Wrong password'}), 400
student = Student()
student.userid = userid
student.username = username
student.number = number
db.session.add(student)
db.session.commit()
return jsonify(), 201
users = Student.query.all()
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False
return jsonify([user.serialize for user in users])
@api.route('/users/<uid>', methods=['GET', 'PUT', 'DELETE'])
def user_detail(uid):
if request.method == 'GET':
user = Student.query.filter(Student.id == uid).first()
return jsonify(user.serialize)
elif request.method == 'DELETE':
Student.query.delete(Student.id == uid)
return jsonify(), 204 # 데이터가 삭제되었음을 알려주는 204 코드.
data = request.get_json()
Student.query.filter(Student.id == uid).update(data)
user = Student.query.filter(Student.id == uid).first()
return jsonify(user.serialize)