728x90
반응형
https://developer-youn.tistory.com/98?category=989068
이 글에서 사용한걸 그대로 옮겨왔습니다.
일단 뭐든 해봐야겠죠.
저는 원활한 사용을 위해 아래 코드는 기본적으로 넣어두었습니다.
from fastapi import FastAPI, Request, Form, Header
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from fastapi.responses import JSONResponse
from pydantic import BaseModel
import json
from fastapi.middleware.trustedhost import TrustedHostMiddleware
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="templates/")
app.add_middleware(
TrustedHostMiddleware, allowed_hosts=["*"]
)
정보를 요청했을때 json data를 주기 위해 다음과 같이 작성했습니다.
@app.get("/user-data")
async def user_data(request : Request):
print(request)
file_path = "./static/Sample.json"
f = open(file_path, 'r')
data = json.loads(f.read())
return JSONResponse(content = data)
get방식으로 "[내 도메인]/user-data"에 요청이 왔을때 static폴더에 있는 Sample.json을 반환해줍니다.
우선 서버에 올리고 브라우저에서 잘 나오는지 확인합니다.
이쯤에서 Postman도 한번 사용해봅시다. 익숙해지면 편하니까요.
잘 들어옵니다.
kotlin에서도 요청한번 해봅시다.
fun main() {
var connURL = "https://제_도메인은_소중하니까요!/user-data";
var url = URL(connURL);
val conn = url.openConnection() as HttpURLConnection;
conn.requestMethod = "GET";
conn.connectTimeout = 150000;
conn.readTimeout = 150000;
var charset = Charset.forName("UTF-8")
var br= BufferedReader(InputStreamReader(conn.inputStream, charset))
var sb = StringBuilder()
if (conn.responseCode == HttpURLConnection.HTTP_OK) {
while(true) {
val line = br.readLine() ?: break;
sb.append(line)
}
}
println(sb.toString())
}
잘 들어옵니다.
다음 편 부터는 공식 도큐먼트도 보고 이것저것 더 다양하게 실습하면서 익혀보겠습니다.
728x90
반응형
'FastAPI' 카테고리의 다른 글
FastAPI 사용하기 1편 - 환경 만들기 (0) | 2022.07.24 |
---|