REST API 응답에서 null 및 누락 된 키 [닫기]


40

내 응용 프로그램에서 일부 사용자는 우리에게 성을 알려주고 다른 사용자는 그렇지 않습니다. REST API 응답에서 선호되는 본문 :

"널"값으로 :

{"firstName": "Bob",
 "lastName": null}

또는 누락 된 키 :

{"firstName": "Bob"}

답변:


31

비어 있거나 null 값을 제거하십시오.

속성이 선택 사항이거나 비어 있거나 널 (NULL) 값을 갖는 경우, 의미 상 강력한 이유가없는 한 JSON에서 해당 속성을 삭제하는 것이 좋습니다.

{
  "volume": 10,

  // Even though the "balance" property's value is zero, it should be left in,
  // since "0" signifies "even balance" (the value could be "-1" for left
  // balance and "+1" for right balance.
  "balance": 0,

  // The "currentlyPlaying" property can be left out since it is null.
  // "currentlyPlaying": null
}

추가 읽기
Google 스타일 가이드-비어 있거나 null 속성 값
REST API의 JSON 응답에 null 값이 포함되어야합니까?


링크 주셔서 감사합니다, Robert. 따라서 currentlyPlaying일부 응답에 있고 다른 응답이 아닌 경우에도 클라이언트가 키가 있는지 여부를 확인하는 것이 null인지 확인하는 것이 바람직합니까?
jtmarmon

null그리고 undefined거의 자바 스크립트에서 동일한 의미를, 그리고 당신은 모두를 확인할 수 있습니다 사용if (myProperty == null)
로버트 하비

실제로 내 경우에는 클라이언트가 java, objective-c 또는 javascript 일 수 있습니다. 두 번째 링크 (API-craft)의 링크는 null이 의미 론적 사용 사례에 적합하지만 대부분 결정을 내려야한다는 것을 나타냅니다 .P 감사 다시
jtmarmon

단순 : 응용 프로그램이 다른 값을 구별해야하는 경우 서버는 다른 값을 제공해야합니다. 그렇지 않으면 필요하지 않아야합니다. 앱이 존재하지 않는 키, 값으로 빈 문자열이있는 키 및 null 값이있는 키를 구별해야합니까?
gnasher729

3
이 게시물답변은 null 필드를 제거하지 않아야하는 몇 가지 좋은 이유를 설명합니다.
Dave New
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.