728x90

API 5

(Rest API 개발)PUT과 PATCH의 차이점

HTTP Method 중에 PUT와 PATCH는 리소스의 업데이트를 의미한다. 리소스를 업데이트 한다는 점에서는 같은 역할을 하는 메소드처럼 보이지만 두개의 요청에는 약간의 차이가 있다. PUT : 리소스의 모든 것을 업데이트 한다. PATCH : 리소스의 일부를 업데이트 한다. 아래와 같은 회원이라는 리소스가 있다. 회원 (member) 1 이름 (name) 애용이 나이 (age) 10 성별 (gender) M 아래와 같은 요청을 보내면 PUT /members/1 { name : "홍길동", age : 19, gender : "M" } 회원 (member) 1 이름 (name) 홍길동 나이 (age) 19 성별 (gender) M 위와 같이 변한다. 이번에는 나이와 성별를 빼고 요청을 보내면 PUT /..

Rest API 2022.08.31

Tortoise ORM 공식 문서 예제

Tortoise ORM (Object Relational Mapping) 경로를 생성할 때 Tortoise 모델 TortoiseCRUDRouter을 사용하여 데이터베이스에 자동으로 연결 이를 사용하려면 pydantic 스키마, Tortoise 데이터베이스 모델을 전달하고 FastAPI 앱에 Tortoise ORM을 등록 간단한 예제 다음은 필요한 모든 모델을 이미 가져와서 생성했다고 가정한 예입니다. app = FastAPI() register_tortoise(app, config=TORTOISE_ORM) router = TortoiseCRUDRouter( schema=MyPydanticModel, db_model=MyDBModel, prefix="test" ) app.include_router(rout..

FastAPI 2022.04.20

요즘 핫한 가벼운 파이썬 프레임워크 FastAPI

Python은 Django, Flask, Falcon 같은 프레임워크로 인해 lightweight web apps 을 신속히 개발함에 있어서 좋은 선택입니다. 수 년동안 Flask는 이를 위한 최고의 프레임워크였지만, 이에 FastAPI라는 새로운 도전자가 나타났습니다. FastAPI는 고성능(high performance), 낮은 진입장벽(easy to learn), 높은 생산성(fast to code), ready for production 라고 소개하고 있습니다. FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. 주..

FastAPI 2022.04.13

회원등록 API v1, v2 차이

회원등록 API v1, v2 차이 비교 회원등록 V1: 요청 값으로 Member 엔티티를 직접 받습니다. 문제점 엔티티에 프레젠테이션 계층을 위한 로직이 추가됩니다. 엔티티에 API 검증을 위한 로직이 들어갑니다. (@NotEmpty 등등) 실무에서는 회원 엔티티를 위한 API가 다양하게 만들어지는데, 한 엔티티에 각각의 API를 위한 모든 요청 요구사항을 담기는 어렵습니다. 엔티티가 변경되면 API 스펙이 변합니다. 결론 - API 요청 스펙에 맞추어 별도의 DTO를 파라미터로 따로 생성하여 받는것이 좋습니다. @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member){..

JPA 2022.02.14
728x90