앞서 이야기 했듯이 , 클라이언트와의 요청과 응답은 JSON형식으로 한다.
이번에는 이전에 hello world 를 화면에 출력하였지만, JSON 형식으로 출력을 해보겠다.
이 출력을 보면 JSON 형식을 이해 할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from flask import Flask # flask import
app = Flask(__name__) # flask 사용하기 위한 기본 코드
# get localhost:5000/
@app.route('/act', methods = ['GET']) # http://localhost:5000/act 라는 URL로 설정.
def act(): # JSON 형식으로 함수 작성
ret = {"count" : 2 ,
"students" : [
{"name" : "홍길동", "age" : 30 },
{"name" : "김나나", "age" : 25 }
]
}
return ret
if __name__ == "__main__": # flask 마지막에 들어가는 기본 코드
app.run()
|
cs |
위와 같이 코드를 작성 후 실행 화면으로는,
위와 같이 출력되는 것을 볼 수 있다 . 위는 파이썬의 딕셔너리 형태와 유사하다.
### postman은 실무에서 많이 쓰이는 플랫폼으로,
개발한 api를 테스트하는 용도이다.
www.postman.com/downloads/ 공식홈페이지에서 다운로드 후 로그인 후 사용 가능하다.
기본적인 사용법은 위의 GET 이 표기되 있는 부분을 누르면 HTTP메소드를 고를 수 있고 ,
고른 후 옆에 URL 을 누르고 send를 누른다.
지금은 GET이라 body에 데이터를 넣지 않아도 되지만, POST같은 경우에는 데이터를 추가 하는 메소드이기 때문에
body 로 데이터 작업이 필요하다. body ..row .. json 파일로!
자세한 사용법은 , 설명서를 검색!
이번에는 클라이언트에게 JSON 형식의 데이터를 받아, 그것에 관하여 데이터를 다시 돌려주는 코드를 실행해 본다.
1. 두개의 숫자를 클라이언트에게 받는다. x, y
2. 받은 두 숫자를 더해서, 클라이언트에 돌려준다.
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
|
from flask import Flask, request # request 는 데이터를 받을 수 있도록하는 라이브러리
#HTTP의 상태코드를 전송할 수 있는 라이브러리
from http import HTTPStatus
app = Flask(__name__) # flask 사용하기 위한 기본 코드
# get localhost:5000/
@app.route('/add_two_nums', methods = ['POST']) #POST 데이터를 추가.
def add_two_nums():
data = request.get_json() #클라이언트로부터 json형식으로 데이터를 받는다.
# data = { "x" : 345, "y" : 827 } 포스트맨에서 바디부분에 연결
if 'x' not in data or 'y' not in data:
return {'message' : '파라미터 오류'}, HTTPStatus.BAD_REQUEST
x = data['x'] # 파이썬 딕셔너리 형태에서 데이터 억세스 방법
y = data['y']
z = x + y
ret = {'sum' : z} # 딕셔너리 형태로 돌려준다.
return ret, HTTPStatus.UNAUTHORIZED
if __name__ == "__main__": # flask 마지막에 들어가는 기본 코드
app.run()
|
cs |
API 서버의 입장으로 , 클라이언트에게 데이터를 받아 돌려주기 때문에,
데이터를 받는 코드부터 돌려주는 코드까지 작성하였다. 중간에 if문은 받은 데이터에 x나,y 의 값이 없으면,
두 수의 합을 계산할 수 없으므로, 오류 메시지로 리턴하기 위함이다.
위와 같이 포스트맨에서 x와 y의 데이터를 json 형식으로 Body 부분에 작성하여,
api로 보냈고, 코드 진행대로 되돌려 받았다.
'IT 프로그래밍 관련 > API server ( Flask )' 카테고리의 다른 글
토큰을 통한 유저 인증 , 로그인,아웃관리 ( flask-jwt-extended ) (1) | 2021.04.08 |
---|---|
API개발 경로와 리소스 이해. (0) | 2021.04.08 |
API 서버 실제 구성 ( 데이터베이스 연결, API개발, 경로의 변수처리) (0) | 2021.04.08 |
Flask로 API서버 구성 ( flask 환경 설정, flask 기본문법 ) (0) | 2021.04.07 |
API 란 ? (0) | 2021.04.07 |
댓글