반응형
Read => GET
Update => PUT
Delete => DELETE
@api.route('/users/<uid>', methods=['GET', 'PUT', 'DELETE'])
def user_detail(uid):
if request.method == 'GET': # GET은 조회(read)
user = Fcuser.query.filter(Fcuser.id == uid).first() # first로 하나만 뽑아낸다.
return jsonify(user.serialize) # user는 객체이므로 serialize하게 만들어야한다.
elif request.method == 'DELETE' : # DELETE는 삭제(delete)
Fcuser.query.delete(Fcuser.id == uid)
return jsonify(), 204
# PUT은 수정(update)
# json데이터는 request.form이 아닌 request.get_json()을 통해 얻을 수 있다.
updated_data = request.get_json()
# PUT요청은 수정이 돼야하기 때문에 filter를 해야한다.
Fcuser.query.filter(Fcuser.id == uid).update(updated_data)
user = Fcuser.query.filter(Fcuser.id == uid).first()
return jsonify(user.serialize)
url에 uid가 user_datail(uid) 함수의 인자값으로 들어간다.
반응형
'PNU DSC > Solution Challenge' 카테고리의 다른 글
Flask 18. jQuery와 ajax (0) | 2020.03.24 |
---|---|
Flask 16. 회원생성 API 만들기 (0) | 2020.03.16 |
Flask 15. HTTP와 RESTful API (0) | 2020.03.11 |
Flask 14. 백엔드와 프론트엔드 (0) | 2020.03.11 |
Flask 12. 로그아웃 (0) | 2020.03.11 |