👋 Hello, I am Seung-ho Ham

🧑🏻‍💻 A Developers who create code that changes the world

Development/APIs 4

서비스 레이어란 무엇이고, 왜 필요한가?

아키텍처를 설계한 것을 보면서 어떤 api는 DB에 바로 접근하는 것을 볼 수 있었고, 어떤 api는 서비스 레이어를 거쳐 db에 접근하는 것이 있었다. 이를 통해 왜 서비스 레이어를 사용하는가에 대한 궁금증이 생겼다.  서비스 레이어란 무엇일까?서비스 레이어는 애플리케이션에서 비즈니스 로직(업무 규칙)을 처리하는 중간 계층이다. API 레이어는 요청과 응답만 처리하고, 서비스 레이어는 데이터 가공 및 검증 등 비즈니스 로직을 담당한다. 서비스 레이어가 없다면?서비스 레이어가 없으면 비즈니스 로직과 API 로직이 섞이게 된다.같은 로직이 반복되면 유지보수가 어려워지고, 로직이 복잡해지면 API 레이어가 비대해지며, 로직 수정 시 API 코드까지 수정해야한다. 원래는 API 레이어가 요청을 받아 비즈니스 ..

Development/APIs 2024.12.18

HTTP 204 상태 코드 처리 오류

API에서 고객 데이터를 삭제하는 DELETE 요청을 처리하던 중, 데이터는 정상적으로 삭제되었지만 " Delete failed "라는 메시지만 반환되었음if code == 200: return {'message': 'Customer deleted successfully'}, 200else: return {'message': 'Delete failed'}, 500 MongoDB 응답 값을 출력해봤고, 삭제가 정상적으로 완료되었음에도 불구하고 204 상태 코드가 반환된다는 것을 확인DELETE 요청이 성공적으로 처리되었을 때 204 No Content도 반환될 수 있기 때문에, 이를 반영해 코드를 수정  HTTP 상태 코드 200 OK: 요청이 성공적으로 처리됐고, 일반적으로 반환할 데이터가 있..

Development/APIs 2024.09.20

고객 관리 프로젝트 구조 분석하기 - 각 Layer의 역할

DB - MongoDB / Framwork - Flaskapi-customer-manager├── common│ ├── conf│ │ ├── __init__.py│ │ ├── ConfigControl.py│ │ └── parser_toml.py│ ├── db│ │ ├── __init__.py│ │ ├── influxdb_interface.py│ │ ├── mongodb_control.py│ │ └── mongodb_interface.py│ └── system_protos│ ├── __init__.py│ ├── base_model.py│ ├── conv_time.py│ ├── datetime_calc.p..

Development/APIs 2024.09.12

고객 정보 CRUD api 구현

[진행 중인 작업]고객 정보 관리 API의 등록, 조회, 수정, 삭제 기능을 개발MongoDB의 데이터베이스와 연동하여 CRUD 기능을 구현하고 테스트 날짜 형식 변환 문제클라이언트와 서버 간 날짜 형식 불일치로 인해 "time data does not match format" 오류 발생 ISO 8601 형식(예: '%Y-%m-%dT%H:%M:%SZ')으로 일관되게 날짜를 파싱하고 변환하여 클라이언트와 서버 간의 형식 차이를 해결  Swagger 문서의 잘못된 필수 필드 설정Swagger 문서에서 필수 필드와 선택적 필드가 제대로 구분되지 않아 사용자가 모든 필드를 입력해야 하는 문제 발생 required 속성을 명확히 설정하여 필수 필드만 사용자가 입력하도록 변경  날짜 필드 자동 설정 문제 고객 등록..

Development/APIs 2024.09.11
반응형