전체 글(180)
-
FastAPI - example
사용자가 어떤 값을 보내야하는지를 확인하려면 Swagger UI와 같은 문서를 통해서 확인이 가능할 것이다.그런데 구체적으로 값을 어떤형태로 어떻게 구성을 해야지 서버측에서 정상적으로 값을 받는지를 알아야지만 보내기 수월할 것이다이때 사용되는것이 example이다1. example이렇게 모델이 선언되어 있을때 model_config의 값으로 json_schema_extra의 값에 example값을 넣고 그 내부에 예시가 될만한 형태의 값을 넣어주면 된다예시를 보여주자면이런식으로 설정하면 된다. 그리고 이제 함수 하나를 생성해서 맵핑을 해주면 Swagger UI의 Schemas에 모델 아래에 Example을 확인할 수 있다. 2. 모델의 요소에 직접 다는 example위는 전체 모델에 대한 example이..
2025.08.29 -
FastAPI - 모델의 중첩
현실의 구조를 표현하기 위해서는 여러 연관되는 물건들이 서로간의 연결 혹은 포함의 관계를 가지고 있는데 이를 코드를 치다보면 어떤 자료형을 통해서 어떤 방식으로 연결을 만들어 낼지에 대해서 고민을 많이 하게 된다. 그중에서 자바의 경우는 List 내부에 Map이 들어 있다거나 List 내부에 우리가 직접 만들어 둔 VO 혹은 DTO를 넣어 같은 타입의 다수의 객체가 하나의 범주안에서 존재해야하는 경우들이 있는데 Fast API는 그와 같은 과정으로 모델간의 중첩을 만들어 이를 구현한다. 모델의 중첩을 이야하기 하기 이전에 먼저 가변 타입들에 대해서 설명해보자.list, dict, set 등의 가변 타입의 경우는 어떤 타입의 값이던 내부에 저장이 가능하다.그렇기에 원하는 타입의 형태만 받기 위해서는 내부 ..
2025.08.29 -
FastAPI - RequestBody 다중 매개변수
기존의 Request Body의 경우는 단일 건에 대해서만 처리를 하는 방식으로 구현했었다.그러면 다수의 모델의 형태로 들어오는 Request Body를 받기 위해서는 어떻게 해야할까여러개의 모델을 가져오는 Request Body를 처리하는 방법과 추가적인 기능에 대해서 한번 알아보자. 먼저 서버 세팅을 해주고 이제 살펴보도록 하자1. 다중 매개변수먼저 모델 두가지를 선언해주고 함수에 해당 모델을 받을수 있게 세팅해주자.그리고 이에 맞게 request body를 구성하여 요청을 던져보면이렇게 정상적으로 요청을 모델에 넣어 반환하는 것을 볼 수 있다. 정리하자면 다중 매개변수는 그냥 쓰면 된다...정도 인거같다. 2. 단일값을 Request Body에 같이 보내기그러면 이제 여기서 추가로 단일 값을 받는 ..
2025.08.29 -
FastAPI - 경로 매개변수의 검증
이전에는 쿼리 스트링으로 들어오는 매개변수에 대해서 검증하고 설정하는 방법으로 Query를 사용한다고 했었다.이번에는 경로 매개변수로 들어오는 값에 대해서 검증하고 설정하는 방법에 대해서 알아보자. 1. Pathfastapi에 있는 Path모듈은 경로 매개변수에 대해서 다양한 옵션들을 통해서 검증을 할 수 있는 방법을 제공한다.먼저 확인해보기 위해서 Path를 import 해주고 기본 서버를 구성해주자.그리고 경로 파라미터를 받는 형태로 메서드를 하나 구성해주자. 더보기여기서 하나 내용이 있는데 사실 FastAPI에서는 사용해봐야 의미 없는 내용이기에 전체 설명에 추가하진 않았는데 함수의 파라미터는 원래 단순하게 순서에 맞게 보내면 자동으로 할당이 되어 진다.간단하게 보여주면이런 함수가 존재할때 이렇게 ..
2025.08.27 -
FastAPI - 쿼리 매개변수 및 문자열 검증
웹에서 요청을 받는 데이터들에 대해서는 빈번하게 입력받은 데이터에 대한 검증들이 필요한 것들이 존재한다.간단하게 메일 주소, 비밀번호의 길이등, 원하는 길이, 형태가 존재하는 경우들이 있기 때문에 이들을 전달받을때 물론 스크립트에서 걸러져서 들어오겠지만 이런 저런 문제들(보안등..)로 인해서 서버측에서도 추가적으로 이를 검증해야할 때가 많다.FastAPI에서 이런 검증들을 할 수 있는 방법에 대해서 확인해보자. 1. Queryfastapi의 Query 모듈은 이런 설정들을 달아둘 수 있는 도구가 된다.먼저 Query를 fastapi로 하여금 import 하고 기본 FastAPI의 형태를 구성해주자.이제 함수를 하나 선언해주고 이제 id와 password를 받을 수 있도록 만들어주고이제 요청에 해당 값들을..
2025.08.27 -
FastAPI - Request Body
기존에는 get 요청으로 값을 전달할 때 경로를 이용하거나 쿼리 스트링을 이용해서 전달했었는데 POST, PUSH, PATCH같은 메서드의 경우는 서버로 데이터를 전달할때 HTTP 요청 메세지의 Body 영역에 담기는 Request Body를 사용한다.# Post RequestPOST /users HTTP/1.1Content-Type: application/json{ "username": "alice", "email": "alice@example.com"}# Get RequestGET /users?skip=0&limit=10 HTTP/1.1 위와 같이 Get 요청을 제외한 다른 메서드를 이용하는 경우 데이터를 서버측에서 어떻게 받아서 처리해야하는지 확인해보자. 1. Request BodyRequest..
2025.08.27