Programming(219)
-
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 -
FastAPI - 쿼리 매개변수
이전에 경로에 매개변수를 전달할 수 있는 방법을 확인했었다.이번엔 쿼리 스트링을 사용해서 매개변수를 전달하면 이 값을 받아 사용할 수 있는 방법을 확인해보자. 1. 쿼리 매개변수먼저 단순하게 경로를 받아줄 메서드를 하나 만들어주자.우선 정상적으로 접근할 수 있는것을 확인했다. 자바에서 쿼리 스트링의 경우는 경로?param=value¶m2=value2 와 같이 전달하면서 값을 받아 사용할 수 있게 해줬었는데 FastAPI도 크게 다를게 없다.다만 서버 측에서는 기존에 경로를 통해서 받는 것이 아니라 매개변수 쪽에 선언을 하고 사용하게 된다.요청을 보낼때 위 변수명에 맞는 쿼리 스트링을 전달해보면 이렇게 값을 받아서 사용할 수 있는 것을 볼 수 있다. 다만 이렇게 사용한다면 쿼리 스트링을 무조건 전..
2025.08.26 -
FastAPI 기본
1. Fast APIFast API는 파이썬으로 웹서버 프로그램을 쉽게 만들 수 있도록 도와주는 프레임워크로 개발자가 요청을 어떻게 처리할지에 대해서만 지정해 둔다면 FastAPI가 그걸 웹 서버 형태로 실행되도록 만들어준다.여기서 웹 서버는 Uvicorn, Hypercorn과 같은 ASGI 서버가 띄워주고 FastAPI와 소통하면서 웹 서버 프로그램을 구동시킨다조금 더 정리하면 사용자가 어떤 요청을 전달하면 이를 Uvicorn, Hypercorn과 같은 ASGI 서버가 받아서 FastAPI에게 전달하고 FastAPI는 이를 정리하여 필요한 곳에 전달하고 로직을 수행한 후에 결과 응답을 다시 ASGI서버로 전달하는 역할을 한다. 더보기ASGI서버기존에는 WSGI라고 Web Server Gateway In..
2025.08.26 -
토비의 스프링 부트 - 이해와 원리 : 섹션5. 독립 실행형 스프링 애플리케이션 - DispatcherServlet으로 전환 & 어노테이션 매핑 정보 사용
DispatcherServlet으로 전환우리는 FrontController라는 서블릿을 만들었지만 서블릿 컨테이너를 관리하거나 다루는 작업을 하지 않도록 Servlet Containerless한 개발을 하고 싶은데 애플리케이션의 로직과 연결되어 있는 것들이 서블릿 코드안에 존재하게 된다. 이러한 코드는 먼저 맵핑에 대한 문제이다.웹 요청으로 이걸 처리할 Controller와 메서드가 어떤것인지를 연결시켜주는 작업인데 이걸 코드 상에서 보자면 이렇게 요청 URL와 요청 타입(GET 방식)을 통해서 어떤 클래스의 빈을 사용해서 어떤 함수를 사용할지를 코드로 서블릿 내부에 작성되어 있는 것을 볼 수 있다. 두번째는 요청의 파라미터값을 추출해서 메서드에 파라미터로 넘겨주는 작업에 대한 문제이다.보면 getPar..
2025.08.08