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();
  }
});