programing

Swagger로 정적 문서 생성

projobs 2021. 1. 16. 09:11
반응형

Swagger로 정적 문서 생성


swagger 2.0에 대한 정적 문서를 작성하는 방법이 있습니까? 아마도 editor.swagger.io의 '미리보기'와 같습니다.

일부 정적 문서에 포함 할 수 있도록 정적 html 파일을 가져와야합니다.

지금까지이 작업을 수행하는 방법을 찾지 못했습니다. swagger-codegens 정적 문서가 있지만 이것은 swagger <= 1.2에서만 작동합니다.


swagger-codegen 사용 :

swagger-codegen generate -i <path to your swagger file> -l html2 -o <path to output location>

HTML 템플릿을 사용자 정의하기로 결정한 경우 :

  1. github 에서 swagger-codegen 프로젝트 복제
  2. modules/swagger-codegen/src/main/resources/htmlDocs2폴더를 다른 위치로 복사 합니다. 예 :cp -R modules/swagger-codegen/src/main/resources/htmlDocs2 ~/templates
  3. 요구 사항에 맞게 .mustache템플릿을 수정합니다 ~/templates.
  4. 실행 : swagger-codegen generate -i <path to your swagger file> -l html2 -o <path to output location> -t <templates path>for <templates path>~/templates위의 예 있어야합니다 .

간단한 방식으로 정적 문서를 생성하고 싶다면 Spectacle을 고려하십시오 .

npm install spectacle-docs에 스크립트를 넣고 싶 package.json거나 npm install -g spectacle-docs어디서나 사용할 수 있어야하는 경우.

그런 다음 spectacle spec.yaml특정 디렉토리에 빌드하고 서버를 실행하고 / 또는 specfile을보고 필요에 따라 업데이트하는 옵션과 함께을 실행할 수 있습니다.


2.0의 정적 문서는 2.0 용으로 구현되었습니다. 여기에서 ./bin/static-docs.sh를 참조하십시오.

https://github.com/swagger-api/swagger-codegen/tree/master/bin


Swagger 2.0을 구체적으로 찾고 있다면 Swagger-Codegen이 Swagger 2.0을 지원한다고 믿지만 Converting Swagger specification JSON to HTML documentation 에서 내 대답을 알려 드리고 싶습니다.


당신이 사용할 수있는:


"정적"문서는 여러 가지를 의미 할 수 있습니다.

편집기의 미리보기와 같은 대화 형 디스플레이를 찾고 있다면 swagger-ui ( https://github.com/swagger-api/swagger-ui )가 있습니다.

좀 더 정적 인 문서 (예 : "지금 사용해보기"버튼없이)를 수행하는 codegen의 코드는 2.0 용으로 아직 구현되지 않았지만 향후 몇 주 내에 제공 될 예정입니다.


http://ics.upjs.sk/~novotnyr/blog/2156/create-html-documentation-from-swagger-via-maven에 설명 된 절차를 사용했습니다 .

Maven을 사용하여 정적 문서를 생성하고 그 결과는 매우 읽기 쉽습니다. 아직 시도하지 않았지만 고도로 구성 가능하고 확장 가능한 것 같습니다.


미리보기 문서를 클릭하고 크롬 애드온 'Save Page WE'(페이지 오른쪽 클릭-> 'save page we')를 사용하면 결과는 단일 html 파일입니다 (클릭 할 수 없으므로보고 싶은 모든 항목을 클릭해야합니다).


spec.jsonSpectacle의 Docker 이미지 정적 빌드를 사용 하여 OpenAPI / Swagger 사양을 (YAML에있을 수도 있음) 다음과 같이 생성 할 수 있습니다.

mkdir -m 777 build && docker run --rm \
    -v `pwd`/build:/tmp/build \
    -v `pwd`/spec.json:/tmp/spec.json \
    sourcey/spectacle \
    spectacle -t /tmp/build /tmp/spec.json

나는 보통 https://editor.swagger.io/로 합니다. 설치 나 아무것도 필요하지 않습니다.

yml 파일을 편집기에 복사하고 'Generate Client> html2'를 선택하면 zip 파일에 정적 html 파일이 생성됩니다.


당신의 pom에 swagger에 대한 의존성을 포함하십시오.

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>

그리고-> https://editor.swagger.io/를 누르십시오.

참조 URL : https://stackoverflow.com/questions/26605217/generate-static-docs-with-swagger

반응형