JSON Patch는 모든 JSON 문서를 수정할 수 있도록 설계되어 복잡하게 느껴짐. 데이터 세트를 약간 제한하면 문서를 더 간단하게 패치할 수 있음. 예를 들어, Firebase에서는 null 값을 저장할 수 없으며 null로 설정하면 삭제를 의미함. 이처럼 간단한 제한을 통해 PATCH를 쉽게 구현할 수 있음. "null은 삭제를 의미"라는 점 외에는 새로운 것을 배울 필요가 없다는 점이 API의 훌륭한 기능임.
JSON의 구분자로 /를 사용하는 것은 이상한 선택임. JSON은 JS의 하위 집합이므로 .를 구분자로 기대했음. /를 보면 백엔드 사람들이 작성한 사양일 것 같고, 경로를 URL로 만들어 상대/절대 경로의 모호성을 해결하려는 것 같음.
경로가 문자열이 아닌 배열이어야 한다고 생각함. 그렇지 않으면 /를 키에서 이스케이프해야 하고 경로 문자열을 구문 분석해야 함. 이는 임의의 JSON 문서를 처리할 수 없게 만듦.
JSON Patch를 한 번 사용한 적이 있으며, 예상치 못한 문제를 빠르게 해결하기 위한 해킹으로 사용했음. 해외 계약자들이 텍스트 데이터를 단어 수준에서 주석을 달 수 있도록 웹 인터페이스를 구축했음. 데이터가 작은 청크로 주석이 달릴 예정이었으나, 전체 문서에 할당되면서 주석이 저장되지 않는 문제가 발생했음. JSON Patch를 발견하고 업로드 코드를 패치만 사용하도록 수정했음.
JSON Patch의 경로 지정 방식에서 배열의 항목을 인덱스가 아닌 식별 키-값 쌍으로 선택할 수 있는 표준 구문이 필요함. 이는 특히 항목을 추가하거나 이전 버전의 JSON 항목의 차이를 분석할 때 중요함.
JSON Patch의 강점 중 하나는 멱등성임. JSON Patch 작업은 의도하지 않은 부작용 없이 안전하게 재시도할 수 있음. 그러나 배열에 항목을 추가할 수 없다는 점은 놀라웠음.
MongoDB 업데이트 쿼리와 유사하게 작동함. 로컬 파일에서 전체 MongoDB를 실행하지 않고도 업데이트 언어를 사용할 수 있는지 궁금함.
JSONDiffpatch와 JSON Patch의 비교가 필요함. JSONDiffpatch는 브라우저와 노드/클라우드플레어 워커 등에서 잘 작동함.
JSON Patch를 외부 파트너에게 배우도록 설득하는 데 어려움이 있었음. 고객 대상 API에서 사용했으며, 사용자가 이해하고 채택하도록 많은 노력을 기울였음.
JSON Pointer 사양이 "URL-y"하게 느껴져 메타-JSON 구문을 건너뛸 수 있을 것 같음. "test"와 "copy"는 JSON Patch 사양에서 고유하며, 여러 편집을 한 번에 수행하는 "트랜잭션"도 가능함.
Hacker News 의견
JSON Patch는 모든 JSON 문서를 수정할 수 있도록 설계되어 복잡하게 느껴짐. 데이터 세트를 약간 제한하면 문서를 더 간단하게 패치할 수 있음. 예를 들어, Firebase에서는 null 값을 저장할 수 없으며 null로 설정하면 삭제를 의미함. 이처럼 간단한 제한을 통해 PATCH를 쉽게 구현할 수 있음. "null은 삭제를 의미"라는 점 외에는 새로운 것을 배울 필요가 없다는 점이 API의 훌륭한 기능임.
JSON의 구분자로
/를 사용하는 것은 이상한 선택임. JSON은 JS의 하위 집합이므로.를 구분자로 기대했음./를 보면 백엔드 사람들이 작성한 사양일 것 같고, 경로를 URL로 만들어 상대/절대 경로의 모호성을 해결하려는 것 같음.경로가 문자열이 아닌 배열이어야 한다고 생각함. 그렇지 않으면
/를 키에서 이스케이프해야 하고 경로 문자열을 구문 분석해야 함. 이는 임의의 JSON 문서를 처리할 수 없게 만듦.JSON Patch를 한 번 사용한 적이 있으며, 예상치 못한 문제를 빠르게 해결하기 위한 해킹으로 사용했음. 해외 계약자들이 텍스트 데이터를 단어 수준에서 주석을 달 수 있도록 웹 인터페이스를 구축했음. 데이터가 작은 청크로 주석이 달릴 예정이었으나, 전체 문서에 할당되면서 주석이 저장되지 않는 문제가 발생했음. JSON Patch를 발견하고 업로드 코드를 패치만 사용하도록 수정했음.
JSON Patch의 경로 지정 방식에서 배열의 항목을 인덱스가 아닌 식별 키-값 쌍으로 선택할 수 있는 표준 구문이 필요함. 이는 특히 항목을 추가하거나 이전 버전의 JSON 항목의 차이를 분석할 때 중요함.
JSON Patch의 강점 중 하나는 멱등성임. JSON Patch 작업은 의도하지 않은 부작용 없이 안전하게 재시도할 수 있음. 그러나 배열에 항목을 추가할 수 없다는 점은 놀라웠음.
MongoDB 업데이트 쿼리와 유사하게 작동함. 로컬 파일에서 전체 MongoDB를 실행하지 않고도 업데이트 언어를 사용할 수 있는지 궁금함.
JSONDiffpatch와 JSON Patch의 비교가 필요함. JSONDiffpatch는 브라우저와 노드/클라우드플레어 워커 등에서 잘 작동함.
JSON Patch를 외부 파트너에게 배우도록 설득하는 데 어려움이 있었음. 고객 대상 API에서 사용했으며, 사용자가 이해하고 채택하도록 많은 노력을 기울였음.
JSON Pointer 사양이 "URL-y"하게 느껴져 메타-JSON 구문을 건너뛸 수 있을 것 같음. "test"와 "copy"는 JSON Patch 사양에서 고유하며, 여러 편집을 한 번에 수행하는 "트랜잭션"도 가능함.