programing

샘플 JSON에서 Swagger #definition을 생성하는 방법

stoneblock 2023. 2. 23. 21:58

샘플 JSON에서 Swagger #definition을 생성하는 방법

애완동물 가게의 예에서 다음 #definition을 사용합니다.#definition 섹션을 지정하면 JSON 구조를 생성할 수 있습니다.

예:

크고 복잡한 JSON 파일이 있으면 그 반대로 할 수 있는 것이 있습니까?

아래의 JSON Structure에서 스웨거 파일의 #definition 섹션을 생성하여 타이핑을 저장할 수 있습니까?

{
  "variable": "sample",
  "object1": {
    "obj-field1": "field 1 of object",
    "obj-field2": "field 2 of object",
    "anArray": [
      "Value 1",
      {
        "anArrayObj1": "obj1fieldinarray",
        "anArrayObj2": "obj2fieldinarray"
      }
    ]
  }
}

이 JSON-to-Open을 사용할 수 있습니다.API 스키마 변환기:
https://roger13.github.io/SwagDefGen/

(기트허브 프로젝트)

개인적으로 써본 적이 없어서 얼마나 좋은지 모르겠어요.


오픈 이후API는 JSON Schema의 하위 집합을 사용합니다. JSON Schema 생성기 중 하나를 사용할 수도 있지만 OpenAPI와 호환되도록 생성된 정의를 수동으로 조정해야 할 수도 있습니다.

1 - 응답을 http://www.mocky.io에 붙여넣고 응답 링크를 가져옵니다.

2 - https://inspector.swagger.io/에 접속하여 응답 예시를 호출합니다.

3 - "History"에서 콜을 선택하고 "Create API definition"을 클릭합니다.

4 - 스웨거 정의는 https://app.swaggerhub.com/에서 구할 수 있습니다.

Open을 생성하는 mock-to-openapi CLI 도구를 사용할 수 있습니다.API YAML파일JSON조롱하다

npm install --global mock-to-openapi

그 다음 모든 변환 실행*.json폴더로부터의 파일:

mock-to-openapi ./folder/*.json`

예를 들어,json오브젝트:

{
    "title": "This is title",
    "author": "Roman Ožana",
    "content" : "This is just an example",
    "date": "2020-05-12T23:50:21.817Z"
}

도구.mock-to-openapi변환하다JSON공개하다API 사양은 다음과 같습니다.

type: object
properties:
  title:
    type: string
    example: This is title
  author:
    type: string
    example: Roman Ožana
  content:
    type: string
    example: This is just an example
  date:
    type: string
    format: date-time
    example: 2020-05-12T23:50:21.817Z

이것으로 충분합니다.

샘플 JSON에서 Swagger REST-client 코드(및 POJO)를 생성합니다.

  1. 아피스토디오로 이동합니다.IO:

    • -> 새 모델을 삽입합니다.
    • JSON을 잘라냅니다.
    • [Swagger YML 파일이 생성됩니다]
    • 다운로드 -> YAML.
  2. editor.swagger로 이동합니다.IO:

    • 마지막 단계에서 저장한 YML을 CutNpaste합니다.
    • 클라이언트 생성 -> jaxrs-cxf-client (다른 옵션이 많이 있습니다)

언급URL : https://stackoverflow.com/questions/49277137/how-to-generate-a-swagger-definition-from-sample-json