본문 바로가기

프로그램 (PHP,Python)207

FastAPI에서 Swagger UI 보호조치를 위한 URL 변경 및 사용자 인증 FastAPI는 기본적으로 Swagger UI를 사용하여 API 문서를 생성하며, 이 문서는 /docs 엔드포인트에서 제공됩니다. 만약 /docs 대신 다른 URL로 Swagger UI를 노출하고 싶다면 FastAPI의 설정을 조정하여 이를 변경할 수 있습니다. 다음은 FastAPI에서 Swagger UI의 URL을 변경하는 방법입니다. from fastapi import FastAPI from fastapi.openapi.models import APIKey from fastapi.openapi.models import OAuthFlows as OAuthFlowsModel from fastapi.openapi.models import OAuthFlowAuthorizationCode from fastap.. 2024. 1. 13.
FastAPI와 Pydantic을 활용한 데이터 유효성 검사, 자동 문서 생성 FastAPI와 Pydantic을 사용하여 API 문서 작성 및 데이터 검증을 수행하는 방식에 대해 자세히 설명하겠습니다. FastAPI 소개 FastAPI는 Python으로 빠르게 API를 개발할 수 있는 현대적이고 성능 우수한 웹 프레임워크입니다. ASGI(Asynchronous Server Gateway Interface)를 기반으로 하며, 비동기 및 동기 코드를 지원합니다. Pydantic 소개 Pydantic은 데이터 검증 및 직렬화를 위한 Python 라이브러리입니다. 타입 힌트를 사용하여 데이터 모델을 정의하고, 해당 모델을 사용하여 데이터의 유효성을 검사하거나 JSON과 같은 형식으로 직렬화할 수 있습니다. FastAPI와 Pydantic의 통합 FastAPI는 Pydantic 모델을 사용.. 2024. 1. 12.
PostgreSQL 스키마를 기반으로 PostgREST 통해 API 자동화 생성 PostgREST가 무엇인지 먼저 생각해 봅시다. 현대의 데이터베이스 애플리케이션은 일반적으로 직접 데이터베이스에 연결하여 임의의 SQL 명령을 내리지 않습니다. 일반적으로 그 사이에 어떤 추상화 계층이 항상 존재합니다. 이 계층은 Hibernate 코드 또는 어떤 종류의 API가 될 수 있습니다. 문제는 API를 수작업으로 작성하는 것이 많은 작업이며 귀찮다는 것입니다. 일반적으로 데이터베이스에는 이미 대부분의 정보가 있습니다(필드, 데이터 유형 등). 그러나 수동으로 API를 작성하면 본질적으로 데이터베이스가 이미 알고 있는 것을 중복하게 됩니다. PostgREST는 전혀 다른 접근 방식입니다. 이는 데이터베이스 시스템 카탈로그를 검사하고 데이터베이스에서 API를 자동으로 생성합니다. 충분한 권한이 .. 2024. 1. 9.
한글깨짐 환경 인코딩 UTF-8 유니코드 변환 문제 해결 파이썬을 사용하여 JSON 파일의 UTF-8 여부를 체크하고, 만약 UTF-8이 아니라면 인코딩을 변경하는 코드는 다음과 같이 작성할 수 있습니다. 이 코드는 chardet 라이브러리를 사용합니다. 먼저, 해당 라이브러리를 설치해야 합니다. pip install chardet 그런 다음 아래의 파이썬 코드를 사용하세요. import json import chardet def check_and_convert_encoding(file_path, target_encoding='utf-8'): with open(file_path, 'rb') as file: raw_data = file.read() result = chardet.detect(raw_data) detected_encoding = result['en.. 2024. 1. 2.
API와 DB 구축에 복잡한 설정을 Supabase로 관리 최소화 Supabase는 데이터베이스와 인증, 리얼타임 기능을 포함한 서버리스 백엔드 서비스를 제공하는 오픈 소스 플랫폼입니다. Supabase는 PostgreSQL을 기반으로 하며, 프론트엔드와 통합하여 개발자가 빠르게 웹 애플리케이션을 개발할 수 있도록 도와줍니다. 또한 Supabase는 Elixir 언어로 작성된 Phoenix 웹 프레임워크를 기반으로 하고 있습니다. Supabase의 핵심 기능은 다음과 같습니다. PostgreSQL 데이터베이스: Supabase는 강력하고 확장 가능한 PostgreSQL 데이터베이스를 기반으로 합니다. 실시간 데이터: Supabase는 실시간 데이터 동기화를 제공하여 데이터베이스의 변경 사항을 실시간으로 프론트엔드에 반영할 수 있습니다. 인증 및 사용자 관리: 사용자 인.. 2023. 12. 28.
728x90