2017-11-02 4 views
1

내 팀은 모든 입력 및 출력에 대해 데이터 유효성을 검사하기 위해 JSON 스키마를 사용하는 API를 빌드합니다. 프로젝트가 성장하고 어제 저는 이미 85 개의 JSON 파일이 있고 각 파일에 JSON 스키마가 있음을 감지합니다 어떤 것을 검증하기 위해서 나는 각 파일에 대해 많은 리팩토링을해야한다는 것을 발견했다. 예를 들어, 추출되어야하는 많은 중복 코드를 하나의 스키마로두고 각 파일에이 스키마를 참조한다. 그래서 나는이 디렉토리를 스캔하고 이런 종류의 에러를 발견하는 데 도움이되는 라이브러리와 다른 에러를 탐지하는 데 도움이되는 JSON 스키마 링터를 도울 수 있었지만 아무 것도 찾을 수 없었습니다. 그래서 누군가가 같은 문제를 겪고 있고 그것을 해결하는 도구를 발견했는지 알기 위해이 질문을 게시하고 있습니다.json 스키마 디렉토리 용 Linter

답변

1

내가 지금 일하고있는 프로젝트에서 우리는 tv4을 사용하여 JSON 스키마 파일의 유효성을 검증하고 'linting'자체가 아니라 사용자가 찾고자하는 것이어야합니다.

+0

나는 tv4 문서를 읽었지만 JSON 스키마 파일에 대해 데이터 유효성을 검사하는 라이브러리이다. –

+0

스키마의'$ schema' 속성으로 정의 된 메타 스키마에 대해 스키마의 유효성을 검사 할 것이다. 다른 라이브러리는 API에 직접 이것을 포함하므로 스키마의 유효성을 검사 할 수 있지만 그 밑에있는 모든 라이브러리는 스키마의 유효성을 검사 할 수 있습니다. –

1

이전에이 라이브러리를 사용한 적이 없지만 여기서는 할 수있는 것을 예로 들었습니다. 도서관 그 자체가 여기 중요한 부분이 아닙니다.

다운로드하여 draft04-metaschema.json (또는 스키마에 사용하는 메타 스키마)으로 저장하십시오. NPM에서 ajv-cli을 사용

npm install -g ajv-cli 
ajv validate -s draft04-metaschema.json -d your-schema.json 

이이 유효하다고 확인하기 위해 지정된 metaschema에 대한 스키마를 확인합니다. 이 같은 방법론을 사용하여 원하는 다른 라이브러리를 사용하여 스키마의 유효성을 검사 할 수 있습니다. 다행히도 그것은 당신을 시작할 수 있기에 충분합니다.