Project
요기약(3)
codingtori
2025. 1. 27. 14:33
jsonify를 사용할 때 한글이 유니코드 이스케이프 시퀀스로 인코딩되는 현상은 Flask의 기본 설정 때문
Flask 애플리케이션 설정 변경:
애플리케이션 설정에서 JSON_AS_ASCII 값을 False로 설정합니다
app.config['JSON_AS_ASCII'] = False
FastAPI는 OpenAPI 스펙을 기반으로 문서를 자동 생성하며, 기본적으로 swagger를 제공
- URL: http://localhost:8000/docs
- API를 테스트하고 직접 요청을 보낼 수 있음
FastAPI 서버를 구축해서 실행시킬 때는 만일 fastAPI 서버 코드가 폴더 안에 있다면 그 폴더에 __init__.py 파일을 생성해줘야됨
이후, 터미널에서
uvicorn utils.model_connection:app --host 0.0.0.0 --port 8000
이렇게 실행하면 fastAPI 서버가 작동되는 것을 확인할 수 있음
파이썬 서버 노드 서버 실행될 때 같이 돌리는 법
import { spawn } from 'child_process'; //파이썬 서버 돌리기위한 import
let pythonServer;
function startPythonServer() {
pythonServer = spawn('python', ['utils/model_connection.py']);
pythonServer.stdout.on('data', (data) => {
console.log(`Python server output: ${data}`);
});
pythonServer.stderr.on('data', (data) => {
console.error(`Python server error: ${data}`);
});
pythonServer.on('close', (code) => {
console.log(`Python server exited with code ${code}`);
});
}
Node.js 서버 시작 시 Python 서버 실행
startPythonServer();
Node.js 서버 종료 시 Python 서버도 종료
process.on('exit', () => {
if (pythonServer) {
pythonServer.kill();
}
});