Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코딩부트캠프후기
- 항해99후기
- java알고리즘
- java map
- sqld자격증합격
- 프로그래머스제일작은수
- javaJVM
- 노베이스부트캠프
- 인터프린터언어
- java최솟값구하기
- java알고리즘문제풀이
- 컴파일
- java set 출력
- 격파르타합격후기
- java list 출력
- java기본자료형
- 격파르타후기
- java map 저장
- java 자료구조 활용
- javaJRE
- java map 출력
- 비전공자sqld
- 항해15기
- java set 저장
- 격파르타장점
- java참조자료형
- 작은수제거하기
- 프로그래머스
- java list 저장
- 격파르타비전공자
Archives
- Today
- Total
코딩과 결혼합니다
Flask-API 본문
728x90
웹개발 종합반 4주차 - Flask-API
- 은행의 창구가 API와 같다는 것을 기억하시나요?
- 같은 예금 창구에서도 개인 고객이냐 기업 고객이냐에 따라 처리하는 것이 다른 것처럼,
- 클라이언트가 요청 할 때에도, "방식"이 존재합니다.
- HTTP 라는 통신 규약을 따른다는 거 잊지 않으셨죠? 클라이언트는 요청할 때 HTTP request method(요청 메소드)를 통해, 어떤 요청 종류인지 응답하는 서버 쪽에 정보를 알려주는 거에요.
- 여러 방식이 존재하지만, 가장 많이 쓰이는 GET, POST 방식에 대해서 다루겠습니다!
-
- GET 요청
- 통상적으로 데이터 조회(Read)를 요청할 때, 사용합니다!
-
- POST 요청
- 통상적으로 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때 사용합니다!
출처 : 스파르타코딩클럽
GET 요청 API코드
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
API를 만들고 사용하는 과정에서 두 가 지가 필요하다. request와 jsonify 기능
from flask import Flask, render_template, request, jsonify
render_template 옆에 써준다.
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
app.py
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
function hey() {
fetch("/test").then(res => res.json()).then(data => {
console.log(data)
})
}
</script>
</head>
<body>
<h1>제목을 입력합니다</h1>
<button onclick="hey()">나는 버튼!</button>
</body>
</html>
index.html
fetch("/test")하면 백엔드에 요청이가고,
백엔드의 {'result':'success', 'msg': '이 요청은 GET!'}가 프론트엔드의 console.log(data)에 들어가 나타난다.
이제 post요청!😘
POST 요청 API코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
POST 요청 확인 Fetch코드
function hey() {
let formData = new FormData();
formData.append("title_give", "블랙팬서");
fetch("/test", { method: "POST", body: formData }).then(res => res.json()).then(data => {
console.log(data)
})
}
formData를 만들어 여기에 데이터를 실어 보내준다.
이번에는 그냥 눈으로 데이터가 어떻게 흘러가는지만 알아보았다.
이제 프로젝트를 통해서 연습해볼것!
서버 접속 끝내기 : 터미널에서 ctrl + c
'2세 > Python' 카테고리의 다른 글
Get(주문 보여주기) (0) | 2023.05.16 |
---|---|
Post(주문 저장하기) (0) | 2023.05.11 |
Flask (0) | 2023.05.11 |
Python 기초 문법 - 리스트 (0) | 2023.05.10 |
3주차 숙제 (웹스크래핑) (0) | 2023.05.10 |