스웨거 API 스키마에 대한 JSON 검증
JSON 파일 몇 개로 API 스펙을 작성했는데 API 스펙에 대해 검증이 되는지 테스트하려고 합니다.
JSON Schema에 대해 검증할 수 있는 좋은 툴이 몇 가지 있습니다만, Swagger(API 스키마를 작성하는 툴)에서 작성한 사양에 대해 검증할 툴을 찾을 수 없었습니다.제가 찾은 유일한 해결책은 Swagger-Editor에서 클라이언트/서버를 생성하는 것입니다. 꽤 번거롭습니다.
스웨거 스키마에 대해 JSON을 검증하는 기존 툴이 있습니까?
코멘트의 Arnaud는 여기에 두 개의 다른 질문이 있다는 것이 옳다.
규격이 유효한 OpenAPI(fka)인지 확인하시겠습니까?스웨거) 사양
넌 할 수 있다.
- 온라인 Swagger 편집기에 스펙을 복사하면 오류가 발생합니다.소스를 빠르게 살펴봐도 이러한 오류를 생성하기 위해 무엇을 사용하는지는 알 수 없지만 서버에 접속하지 않는 것 같습니다.
- Java의 경우 공식 swagger-parser를 사용합니다.
- JavaScript(브라우저 또는 노드)에는 비공식 swagger-parser를 사용합니다.
또는 이 사양을 구현하면 JSON 스키마에 대해 유효한 JSON이 생성된다는 것을 검증할 수 있습니까?
즉, 여기 요청 또는 응답 기관의 JSON이 있습니다. 맞습니까?
Swagger는 JSON Schema라는 또 다른 표준을 사용하여 스키마 개체를 만듭니다. 스키마 개체는 엔드포인트나 메타데이터가 아닌 JSON을 실제로 기술합니다.Swagger는 JSON 스키마의 서브셋을 사용합니다(누락:oneOf,patternProperties등).이를 위해 JSON Schema Validator를 사용할 수 있습니다.여기 37개의 리스트가 있습니다.YAML 스키마도 지원하는 이 온라인 검증기에 대해 설명하겠습니다.
하지만 스웨거가 JSON API의 서브셋에 의존한다고 했을 때, 나는 거짓말을 했다.스웨거에는 JSON Schema에 속하지 않는 특별한 의미가 있는 소수의 고정 필드가 있습니다.그 중 하나는discriminator다형증에 쓰이는 거죠를 처리할 수 있는 Swagger 검증자는 없습니다.swagger를 위한 툴은 상당히 많고 검증도 한다고 주장하는 툴도 있지만, 많은 툴은 오래된 버전을 위한 것으로, 기능이 완전하지 않고 다른 테크놀로지와 연계되어 있습니다.내가 놓치고 있는 성숙하고 잘 관리된 도서관이 있다면 알고 싶다.
Atlassian의 swagger-request-validator는 이러한 검증을 수행할 수 있는 Java 라이브러리입니다.
OpenAPI/Swagger 사양에 대한 요청/응답 검증을 위한 Java 라이브러리입니다.Swagger v2 및 Open 지원 포함공통 모의 및 테스트 라이브러리용 API v3 사양 및 어댑터.
코어 라이브러리는 특정 HTTP 라이브러리에 연결되어 있지 않지만 Spring MVC, MockMVC, REST Assured 등과 통합되는 추가 모듈도 제공합니다.
또한 Swagger V2 정의에 대해 JSON 문서를 검증할 수 있는 swag-schema-validator도 있습니다(청구인:제가 작가입니다.)이 Java 라이브러리는 Atlassian 라이브러리보다 완전하지 않습니다.
Swagger JSON이 호스트 되어 있는 경우는, 다음의 URL 를 사용할 수 있습니다.http://online.swagger.io/validator/debug?url=your_url
오픈API 2.0 / Swagger 스키마는 몇 군데 있지만, schema라는 단어 자체가 많이 사용되기 때문에 찾기 어려울 뿐입니다.
- 공식 홈은 http://swagger.io/v2/schema.json인 것으로 보입니다.
- 아마도 Open에서 조달되었을 것이다.API 레포: https://github.com/OAI/OpenAPI-Specification/blob/master/schemas/v2.0/schema.json
- 스키마스토어(더 많은 것이 있습니다) :http://json.schemastore.org/swagger-2.0
따라서 이 스키마와 문서에 범용 검증자를 지정할 수 있습니다.예를 들어 vscoode와 Red Hat의 YAML 확장을 사용하는 경우에는 이 방법이 적합합니다.
언급URL : https://stackoverflow.com/questions/39275947/validating-json-against-swagger-api-schema
'programing' 카테고리의 다른 글
| 굴절기 사용 시 단일 특정 테스트 케이스를 실행하는 방법 (0) | 2023.03.14 |
|---|---|
| 각도로 이벤트를 테스트하려면 어떻게 해야 합니까? (0) | 2023.03.14 |
| CodeIgniter + Wordpress 통합 (0) | 2023.03.14 |
| Spring Kafka 클래스가 신뢰할 수 있는 패키지에 없습니다. (0) | 2023.03.14 |
| 파일 업로드:완료된 진행률 표시줄 (0) | 2023.03.14 |