REST API
-
Spring Framework 시리즈 14화 – Model, ModelAndView, ResponseEntity 비교와 활용법기술과 산업/언어 및 프레임워크 2025. 7. 2. 11:09
Spring MVC로 웹 애플리케이션을 개발하다 보면 컨트롤러에서 데이터를 뷰에 전달하거나, REST API 형태로 JSON 응답을 줄 일이 많습니다. 이때 자주 마주치는 것이 바로 Model, ModelAndView, 그리고 ResponseEntity입니다. 세 가지 모두 응답 데이터를 처리하는 방식이지만, 각각의 목적과 사용 방식에는 뚜렷한 차이가 있습니다. 오늘은 이 세 가지의 차이점과 실제 현업에서는 어떤 기준으로 선택하는지를 집중적으로 짚어보겠습니다. Model – 뷰(View) 렌더링 중심의 데이터 전달자 Model은 전통적인 MVC 패턴에서 “데이터를 뷰로 넘기는” 역할에 충실한 객체입니다. 주로 JSP, Thymeleaf 같은 템플릿 뷰에서 사용됩니다.@GetMapping("/hello"..
-
FastAPI 시리즈 11화 - OAuth2 이해와 FastAPI 로그인 인증 시스템 구축기술과 산업/언어 및 프레임워크 2025. 5. 23. 17:01
FastAPI에서 OAuth2PasswordBearer와 JWT(Json Web Token)를 이용해 사용자 인증 시스템을 구축하는 방법을 설명합니다. 실전 로그인/토큰 발급/보호된 엔드포인트 예제를 포함합니다. OAuth2는 왜 필요할까? API 기반 서비스에서 “로그인”은 단순한 기능이 아닙니다.다음과 같은 보안 요구사항을 만족해야 합니다: 사용자 식별 및 인증액세스 권한 제한비밀번호 노출 방지Stateless 인증 처리 FastAPI는 OAuth2 흐름을 기본 지원하며, 여기에 JWT(JSON Web Token)를 결합해RESTful하고 안전한 인증 체계를 구현할 수 있습니다. 1. OAuth2PasswordBearer 기본 구조from fastapi.security import OAuth2Pas..
-
FastAPI 시리즈 10화 - 파일 업로드 및 다운로드 기능 구현하기기술과 산업/언어 및 프레임워크 2025. 5. 13. 19:32
FastAPI에서 단일 파일, 멀티 파일 업로드와 파일 다운로드 API를 구현하는 방법을 예제 중심으로 정리합니다. 업로드 용량 제한, MIME 타입 설정 등 실무 적용 팁도 포함합니다.파일 처리, REST API에서 왜 중요한가?웹 서비스에서 파일을 다루는 기능은 매우 일반적입니다:사용자 프로필 사진 업로드문서 첨부 및 다운로드이미지, PDF 등 대용량 파일 처리FastAPI는 File, UploadFile, FileResponse를 활용해간단하면서도 강력하게 파일 처리 API를 구성할 수 있습니다.1. 단일 파일 업로드 처리from fastapi import FastAPI, File, UploadFileapp = FastAPI()@app.post("/uploadfile/")async def uploa..
-
FastAPI 시리즈 9화 - Background Tasks: 비동기 작업을 우아하게 처리하는 방법기술과 산업/언어 및 프레임워크 2025. 5. 12. 16:30
FastAPI의 BackgroundTasks 기능을 활용해 비동기 후처리 작업을 효율적으로 구현하는 방법을 실습 중심으로 정리합니다. 이메일 발송, 로그 기록, 알림 전송 등 다양한 실전 예제를 포함합니다.왜 Background Tasks가 필요한가?실제 API 서비스에서는 다음과 같은 상황이 매우 흔하게 발생합니다.사용자 요청 처리 후 추가로 이메일 발송데이터베이스 기록 후 로그 파일 기록요청과 동시에 푸시 알림 전송이때 API 요청 응답이 느려지면 사용자 경험이 나빠집니다.FastAPI의 BackgroundTasks는 이 문제를 간단하고 안전하게 해결합니다.요청 처리가 끝난 후 별도의 스레드에서 비동기 작업을 실행합니다.1. 기본 사용법from fastapi import FastAPI, Backgro..
-
FastAPI 시리즈 7화 - Response 모델과 응답 커스터마이징기술과 산업/언어 및 프레임워크 2025. 5. 7. 00:48
FastAPI에서 response_model, status_code, headers, media_type 등 응답(Response) 커스터마이징 방법을 예제 중심으로 정리합니다. 실전 API 응답 설계에 최적화된 내용입니다. 왜 응답 커스터마이징이 중요한가? FastAPI는 기본적으로 JSON 응답을 반환하지만, 실전 서비스에서는 다양한 응답 포맷, 상태 코드, 헤더 구성이 필요합니다.예를 들어: 응답 데이터 필터링 (민감 정보 제거)HTTP 상태 코드 명시사용자 정의 헤더 추가JSON 이외의 MIME 타입 사용 이러한 케이스를 FastAPI는 간단한 선언형 문법으로 처리할 수 있습니다. 1. response_model로 응답 필터링from fastapi import FastAPIfrom pydant..
-
FastAPI 시리즈 6화 - Path, Query, Header, Cookie 파라미터 제대로 다루기기술과 산업/언어 및 프레임워크 2025. 5. 5. 13:24
FastAPI의 Path, Query, Header, Cookie 파라미터 처리 방식을 실제 예제 중심으로 정리합니다. 타입 기반 자동 검증과 문서화까지 함께 알아봅니다. API 파라미터를 다루는 방법은 4가지 FastAPI는 다양한 요청 요소를 자동으로 파싱하고 타입 검증까지 수행합니다.HTTP 요청에는 다음과 같은 방식으로 파라미터가 포함됩니다:구분설명FastAPI 처리 방식Path 파라미터/users/{id}Path()Query 파라미터?q=searchQuery()HeaderAuthorization: ...Header()Cookie클라이언트 저장 정보Cookie() 1. Path 파라미터 – 경로에 포함된 변수from fastapi import FastAPI, Pathapp = FastAPI(..
-
FastAPI 시리즈 5화 - Swagger UI와 ReDoc: 자동 문서화의 힘기술과 산업/언어 및 프레임워크 2025. 5. 4. 11:42
FastAPI는 Swagger UI와 ReDoc을 기본으로 제공해 API 문서를 자동으로 생성합니다. 본 글에서는 그 구조와 실무 활용법을 정리해 API 문서화 효율을 극대화합니다. 개발자들이 FastAPI를 선택한 진짜 이유? FastAPI는 “문서화의 고통”을 자동화합니다.대다수 웹 프레임워크에서 API 문서는 개발자의 추가 작업이 필요하지만,FastAPI는 OpenAPI 3.0 스펙에 맞춘 API 명세를 자동 생성합니다. 그 결과물로 바로 확인할 수 있는 두 가지 강력한 UI가 바로 Swagger UI와 ReDoc입니다. 1. Swagger UI – 인터랙티브한 테스트 콘솔 📌 접속 경로 기본 URL에서 /docs로 접속예: http://localhost:8000/docs 📌 주요 기능 ..
-
FastAPI 시리즈 3화 - FastAPI 기본 라우팅: GET, POST, PUT, DELETE 작성법기술과 산업/언어 및 프레임워크 2025. 5. 2. 09:46
FastAPI에서 다양한 HTTP 메서드(GET, POST, PUT, DELETE)를 사용하는 라우팅 구현 방법을 실제 코드 예제 중심으로 정리합니다. RESTful API 구조를 이해하고 싶은 개발자에게 실질적인 도움이 됩니다.FastAPI의 라우팅 구조, 왜 중요한가?FastAPI는 경량 프레임워크이지만, 라우팅 시스템만큼은 굉장히 탄탄하게 설계되어 있습니다.단순히 URL에 함수를 연결하는 걸 넘어서, 함수 시그니처 기반으로 문서화와 검증까지 자동화합니다.이 장에서는 대표적인 HTTP 메서드에 대한 FastAPI 라우팅을 하나씩 실습해보겠습니다.1. GET – 데이터 조회 요청from fastapi import FastAPIapp = FastAPI()@app.get("/users")def get_us..