자 우리 본격적으로 api를 만들어 보자!
자 그럼 ,api는 무엇인가?
api는 은행이 고객을 받기위해서 만들어 놓은 창구처럼 서버도
클라이언트의 요청을 받기위해서 만들어 놓은 창구 ! 그게 api다.
api도 규칙이 있고 그에 해당하는 주소가 존재한다.
api에는 두가지 종류가 있다.
get과 Post가 그 예이다.
쉽게 생각해보자 CRUD ,
get->read
post -> create,update,delete 이 그 예이다.
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result': 'success', 'msg': '이 요청은 GET!'})
자 위와 같은 코드는 editor에 적은 코드이고
여기서 위 코드는 서버를 실행했을때 브라우지에서 검사창을 열어서 editor에 실행된 코드가 ajax라이브러리를 통해 잘 실행되었는지
확인하는 코드이다.
자 생각해보자 .
request.args.get('title_give')
이 코드는 브라우저가 서버한테 "title_give" 라는 이름을 가진 값을 가지고 와라라고 요청하는 것이다.
즉 request : 서버 -> 브라우저
response: 브라우저 -> 서버
그럼 서버는 응답하는데, 가만보면 서버의 url이 "/test?title_give=봄날은간다"로 되어있다.
여기서 이 url은 앞서 말했듯이 get의 ?(물음표)뒤에 key = value 값으로 값이 저장되어 있는데,
이 값이 결과적으로, 위의 key의 "title_give"를 가지고 온다! 라고 생각하면 쉬울꺼같다.
request.args.get('title_give')
자 위 코드가 실행되면 "봄날은간다"라는 string이 오고 print(title_receive)가 시작된다.
success: function(response){
console.log(response)
}
})
자 이 코드는 브라우저에서 검사를 실행했을때 나오는 코드이다.
이 구조를 이해하자면, 실행이 잘 되었을때,(success), response하라 이소리인데, 이때 이 response가
앞서말했듯이 브라우저가 서버한테 값을 쏘아주는것이다. 그러면 응답한다.
자 이번에는 editor에다가 post를 사용하는 과정을 적어보자
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result': 'success', 'msg': '이 요청은 POST!'})
여기서 post는 위에서 create,update,delete같은데다가 사용한다고 앞서 말했다.
get과 원리는 비슷하다.
단 get은
request.args.get('title_give')
post는
request.form['title_give']
를 이용한다. 이것이 차이고 나머지는 비슷하다.
자 그렇다면 post요청 확인코드가 필요하다.
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
이것이 post요청 확인코드이다.
단, get은 url의 key=value값이 들어나는 것에 비해,
post는 아무것도 드러나지 않는다는 것을 알수가 있다.
'웹 프로그래밍(풀스택-->python)' 카테고리의 다른 글
45. GET 연습( 리뷰 보여주기) (0) | 2021.05.02 |
---|---|
44. 나홀로메모장 - POST 연습(메모하기) (0) | 2021.04.30 |
42. Flask 시작하기 - HTML파일 주기 (0) | 2021.04.27 |
41. Flask 시작하기 - 서버만들기 (0) | 2021.04.26 |
40. 폴더 세팅 (0) | 2021.04.26 |