- JSON Path는 JSON 문서에서 데이터를 추출하는데 사용할 수 있는 쿼리 언어
- OpenAPI가 JSON 또는 YAML 문서이므로, JSON Path를 사용하여 OpenAPI에서 여러가지 작업을 할 수 있음
- OpenAPI Overlay를 사용하여 문서에 추가 내용, 코드 샘플 등을 패치
- Spectral에서 사용하여 고급 규칙 작성 가능
- AWS Step Functions에서도 사용 가능
- JSON Path 작동 방식
- JSON 데이터 구조를 탐색하고 필터링하며 특정 부분을 추출
- XPath와 유사한 문법 (XML에서 사용)
- 구문 예제:
$.store.book[?@.price < 10].title
- OpenAPI에서의 활용
jpp명령을 사용하여 OpenAPI 문서를 쿼리하고 특정 부분 추출 가능- Overlay를 사용하여 OpenAPI 문서를 수정하거나 정보를 추가하는데 사용
- 설명 업데이트, 연락처 정보 추가 등
- 서버 목록에서 개발/스테이징 서버 제거하고 프로덕션만 남기기
- 새로운 샌드박스 서버 정보 추가 등
- JSON Path에 대해 더 배우기
- 2024년 IETF에서 표준으로 제정 (RFC 9535)
- 이전에는 여러 변종이 존재했으나 표준화로 통일되는 추세
- RFC 9535 문법을 따르는 것이 좋음
GN⁺의 의견
- JSON Path는 점점 더 많은 곳에서 사용되고 있어 알아두면 유용한 기술임. 특히 OpenAPI를 다루는 개발자나 기술 작가에게 필수적인 스킬이 될 것으로 보임.
- 아직 JSON Path의 문법이 통일되지 않아서 약간의 혼란이 있지만, RFC 9535를 기준으로 삼는 것이 바람직해 보임. 앞으로 관련 도구들도 이 표준을 따를 것으로 기대됨.
- OpenAPI Overlay나 Spectral 등 개발 과정에서 활용할 수 있는 분야가 다양해 보임. 단순히 데이터 추출 뿐 아니라 문서 보완, 검증, 정제 등에도 활용 가능성이 높아 보임.
- 다만 문법이 약간 복잡하고 JSON/YAML에 익숙해야 하므로 진입 장벽이 있음. 간단한 방식으로 시작해서 점진적으로 고급 기능을 배워나가는 것이 좋겠음.
- jq나 yq 같은 커맨드라인 도구를 활용하면 연습하기 좋을 것 같음. Bump.sh 같은 통합 도구를 사용하는 것도 생산성에 도움이 될 것임.