REST API camal vs snake 어떤거를 쓰는게 좋을까?

2024. 7. 4. 01:38·Programming/Etc
728x90
반응형

REST API에서 요청(Request) 및 응답(Response) 파라미터의 표기법으로는 주로 camelCase와 snake_case가 사용됩니다. 이 두 가지 표기법은 각각의 상황과 컨텍스트에 따라 선택됩니다.

 

1. camelCase

  • 주로 사용되는 경우: JavaScript 및 JSON 데이터 표기법
  • 예시: userId, firstName
  • 특징: 소문자로 시작하며 각 단어의 첫 글자를 대문자로 표기
  • 선호되는 이유: JavaScript 객체 및 JSON 표기법에서 많이 사용되어, 클라이언트 측(특히 웹)에서 호환성이 높음

 

2. snake_case

  • 주로 사용되는 경우: Python 및 URL 경로 표기법
  • 예시: user_id, first_name
  • 특징: 각 단어를 소문자로 작성하며 언더스코어(_)로 단어를 구분
  • 선호되는 이유: Python 코드 및 SQL 데이터베이스 스키마와의 일관성을 유지하기 위해 많이 사용됨

 

현대적 트렌드

현대 REST API 디자인에서는 camelCase가 더 자주 사용됩니다. 이는 주로 JavaScript와 JSON의 광범위한 사용 때문입니다. JSON은 API 통신의 주된 포맷으로 사용되며, JavaScript 객체 표기법과 일치하기 때문에 camelCase가 더 많이 채택됩니다.

참고 예시

  • GitHub API(https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api?apiVersion=2022-11-28): camelCase 사용 (userId, repoName)
  • AWS API(https://docs.aws.amazon.com/apigateway/latest/api/API_CreateAuthorizer.html): camelCase 사용 (maxItems, nextToken)
  • Google API: camelCase 사용 (kind, nextPageToken)

 

결론

일반적으로 REST API에서는 camelCase를 사용하는 것이 트렌드입니다. 이는 JSON 및 JavaScript와의 호환성 때문에 많은 API 제공자들이 이 표기법을 채택하고 있기 때문입니다. 다만, 특정 조직이나 프로젝트에서는 snake_case를 사용할 수도 있으며, 일관성을 유지하는 것이 가장 중요합니다.

 
728x90
반응형
저작자표시 (새창열림)

'Programming > Etc' 카테고리의 다른 글

시퀀스 다이어그램의 주요 용어와 요소 정리  (0) 2024.07.08
Mac PC 에서 sleep 해제 방법  (0) 2024.07.06
폰트 파일 확장자 정보에 대하여  (1) 2024.06.13
윈도우 TreeSize Free를 이용한 용량 확인 및 제거 방법  (1) 2024.01.04
쿠버네티스와 도커의 볼륨의 차이  (0) 2023.06.11
'Programming/Etc' 카테고리의 다른 글
  • 시퀀스 다이어그램의 주요 용어와 요소 정리
  • Mac PC 에서 sleep 해제 방법
  • 폰트 파일 확장자 정보에 대하여
  • 윈도우 TreeSize Free를 이용한 용량 확인 및 제거 방법
이프로그
이프로그
리뷰, 개발, 일상을 기록하는 블로그
    반응형
    250x250
  • 이프로그
    이프로그의 IT이야기
    이프로그
  • 전체
    오늘
    어제
    • 분류 전체보기 (158)
      • Programming (111)
        • C# WPF (11)
        • Java Spring (16)
        • JavaScript & TypeScript (5)
        • Git (9)
        • Database (5)
        • Etc (42)
      • 생활상식 (24)
      • 리뷰 (8)
      • 주식 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      데이터 바인딩
      Kubernetes
      C# WPF
      분산 메시징 시스템
      Java
      Apache Kafka
      투자전략
      소프트웨어 개발
      이슈 트래킹
      서버 관리
      재테크
      WPF
      javascript
      rest api
      데이터베이스 성능
      주식투자
      마이크로서비스
      자바스크립트 트릭
      docker
      클라우드 컴퓨팅
      dynamicresource
      데이터 파이프라인
      DevOps
      투자
      ES6
      웹 개발
      java8
      클라우드 네이티브
      협업 도구
      XAML
    • 최근 댓글

    • 최근 글

    이프로그
    REST API camal vs snake 어떤거를 쓰는게 좋을까?
    상단으로

    티스토리툴바