웹개발종합반 5주차 - [무비스타] - POST연습(좋아요+1) / [무비스타] - POST연습(삭제하기) / [무비스타] 완성본
2022. 1. 4. 11:35ㆍ코딩공부/스파르타코딩클럽 - 웹개발종합반
[무비스타] - POST연습(좋아요+1)
1) 조회: 영화인 정보 전체를 조회
2) 좋아요: 클라이언트에서 받은 이름(name_give)으로 찾아서 좋아요(like)를 증가 (update)
3) 삭제: 클라이언트에서 받은 이름(name_give)으로 영화인을 찾고, 해당 영화인을 삭제
👉 정리하면, 만들 API 정보는 아래와 같습니다.
A. 요청 정보
- 요청 URL= `/api/like` , 요청 방식 = `POST`
- 요청 데이터 : 영화인 이름(name_give)
B. 서버가 제공할 기능 : 영화인 이름(요청 데이터)과 일치하는 영화인 정보의 좋아요 수를 한 개 증가시켜
데이터베이스에 업데이트하고(Update), 성공했다고 응답 메세지를 보냄
C. 응답 데이터 : (JSON 형식) 'msg'='좋아요 완료!'
API(app.py)
@app.route('/api/like', methods=['POST'])
def like_star():
name_receive = request.form['name_give']
target_star = db.mystar.find_one({'name': name_receive})
current_like = target_star['like'] #target_like중에서 like만 가져오고싶다
new_like = current_like + 1
db.mystar.update_one({'name': name_receive}, {'$set': {'like': new_like}})
return jsonify({'msg': '좋아요 완료!'})
Client(index.html)
function likeStar(name) {
$.ajax({
type: 'POST',
url: '/api/like',
data: {name_give: name},
success: function (response) {
alert(response['msg']);
window.location.reload()
}
});
}
[무비스타] - POST연습(삭제하기)
1. 조회(Read) 기능: 영화인 정보 전체를 조회
2. 좋아요(Update) 기능: 클라이언트에서 받은 이름(name_give)으로 찾아서 좋아요(like)를 증가
3. 삭제(Delete) 기능: 클라이언트에서 받은 이름(name_give)으로 영화인을 찾고, 해당 영화인을 삭제
👉 정리하면, **만들 API 정보**는 아래와 같습니다.
A. 요청 정보
- 요청 URL= `/api/delete` , 요청 방식 = `POST`
- 요청 데이터 : 영화인 이름(name_give)
B. 서버가 제공할 기능 : 영화인 이름(요청 데이터)와 일치하는 영화인 정보를
데이터베이스에서 삭제(Delete)하고, 성공했다고 응답 메세지를 보냄
C. 응답 데이터 : (JSON 형식) 'msg'='삭제 완료!'
API(app.py)
@app.route('/api/delete', methods=['POST'])
def delete_star():
name_receive = request.form['name_give']
db.mystar.delete_one({'name': name_receive})
return jsonify({'msg': '삭제 완료!'})
Client(index.html)
function deleteStar(name) {
$.ajax({
type: 'POST',
url: '/api/delete',
data: {name_give: name},
success: function (response) {
alert(response['msg']);
window.location.reload()
}
});
}
[무비스타] 완성본