👋 Hello, I am Seung-ho Ham

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

전체 글 110

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

BPMN을 활용한 고객 관리 프로세스 다이어그램 설계

BPMN (Business Process Model and Notation)을 활용하여 고객 관리 프로세스에 대한 다이어그램 설계 고객 등록, 로그인/로그아웃, 회원탈퇴, 개인정보 수정과 같은 기능이 포함 BPMN 다이어그램 설명1. 고객 시스템 접근 및 초기 선택고객 시스템 접근: 사용자가 시스템에 처음 접근하는 단계고객 행동 선택: 사용자가 고객 등록 또는 로그인 작업을 선택1-1. 고객 등록 프로세스고객 등록 요청: 고객이 시스템에 등록을 요청고객 정보 입력: 이름, 연락처, 이메일 등 필요한 정보를 입력필수 필드 검증: 서버가 필수 입력 필드의 유효성을 검증필드 검증 결과 - 검증 시 DB 접근유효한 경우: 비밀번호 해시 생성 후 고객 정보를 데이터베이스에 저장 - DB 접근누락된 경우: 에러 메..

Development/NoSQL 2024.09.09

MongoDB와 관계형 데이터베이스, 데이터 타입과 설계 방식의 차이

[궁금했던 내용들]1. ObjectId란 무엇인가?MongoDB에서 ObjectId는 각 문서를 고유하게 식별하기 위해 사용되는 데이터 타입입니다. 모든 문서는 _id 필드를 가지고 있으며, 기본적으로 이 필드에는 ObjectId가 할당됩니다. ObjectId는 12바이트 크기의 고유한 식별자로 다음과 같은 정보를 포함합니다4바이트: 유닉스 타임스탬프 (문서가 생성된 시간)5바이트: 머신 ID (서버를 식별)3바이트: 프로세스 ID (MongoDB 프로세스를 식별)3바이트: 자동 증가하는 카운터 (같은 초에 생성된 ObjectId를 구별)이러한 구조를 통해 ObjectId는 전 세계에서 고유성을 유지하며, 시간 정보도 포함하고 있어 언제 생성되었는지 확인할 수 있습니다. 2. 왜 ObjectId를 사용하..

Development/NoSQL 2024.09.06
반응형