사용자 도구

사이트 도구


programming:documentation:swagger

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
programming:documentation:swagger [2020/09/04 16:25]
kwon37xi [Swagger]
programming:documentation:swagger [2023/08/17 15:39] (현재)
kwon37xi [ReDoc]
줄 10: 줄 10:
   * [[https://github.com/Rebilly/ReDoc|ReDoc]] : Swagger API 문서화.   * [[https://github.com/Rebilly/ReDoc|ReDoc]] : Swagger API 문서화.
   * [[https://webhookrelay.com/blog/2018/11/05/openapi-redoc-tutorial/|Documenting your API with OpenAPI (Swagger) and Redoc — Web Relay]]   * [[https://webhookrelay.com/blog/2018/11/05/openapi-redoc-tutorial/|Documenting your API with OpenAPI (Swagger) and Redoc — Web Relay]]
 +  * 페이지 내 검색과 더 유려한 UI를 제공해줌.
 +
  
 ===== Swagger2MarkUp ===== ===== Swagger2MarkUp =====
줄 16: 줄 18:
   * [[https://github.com/Swagger2Markup/spring-swagger2markup-demo|Swagger2Markup/spring-swagger2markup-demo]] [[springframework:springfox|SpringFox]] 로 Spring Boot 문서를 test 시에 ''swagger.json'' 으로 생성하고, 이를 가지고 [[:asciidoc|AsciiDoc]]을 생성한뒤 [[asciidoc:asciidoctor|AsciiDoctor]] 를 통해서 다시 HTML/PDF 문서로 바꾼다.   * [[https://github.com/Swagger2Markup/spring-swagger2markup-demo|Swagger2Markup/spring-swagger2markup-demo]] [[springframework:springfox|SpringFox]] 로 Spring Boot 문서를 test 시에 ''swagger.json'' 으로 생성하고, 이를 가지고 [[:asciidoc|AsciiDoc]]을 생성한뒤 [[asciidoc:asciidoctor|AsciiDoctor]] 를 통해서 다시 HTML/PDF 문서로 바꾼다.
   * [[https://dzone.com/articles/static-api-documentation-with-spring-and-swagger|Static API Documentation With Spring and Swagger - DZone Integration]]   * [[https://dzone.com/articles/static-api-documentation-with-spring-and-swagger|Static API Documentation With Spring and Swagger - DZone Integration]]
 +<code java>
 +// Spring / Swagger 에서 swagger.json 을 파일로 뽑아내는 예제
  
 +@WebAppConfiguration
 +@RunWith(SpringJUnit4ClassRunner.class)
 +@AutoConfigureRestDocs(outputDir = "build/asciidoc/snippets")
 +@SpringBootTest(classes = {Application.class, SwaggerConfig.class})
 +@AutoConfigureMockMvc
 +public class Swagger2MarkupTest {
 +
 +    private static final Logger LOG = LoggerFactory.getLogger(Swagger2MarkupTest.class);
 +
 +
 +    @Autowired
 +    private MockMvc mockMvc;
 +
 +...
 +
 +    @Test
 +    public void createSpringfoxSwaggerJson() throws Exception {
 +        //String designFirstSwaggerLocation = Swagger2MarkupTest.class.getResource("/swagger.yaml").getPath();
 +
 +        String outputDir = System.getProperty("io.springfox.staticdocs.outputDir");
 +        MvcResult mvcResult = this.mockMvc.perform(get("/v2/api-docs")
 +                .accept(MediaType.APPLICATION_JSON))
 +                .andExpect(status().isOk())
 +                .andReturn();
 +
 +        MockHttpServletResponse response = mvcResult.getResponse();
 +        String swaggerJson = response.getContentAsString();
 +        Files.createDirectories(Paths.get(outputDir));
 +        try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(outputDir, "swagger.json"), StandardCharsets.UTF_8)){
 +            writer.write(swaggerJson);
 +        }
 +    }
 +...
 +}
 +</code>
 ===== 기타 ===== ===== 기타 =====
   * https://github.com/sourcey/spectacle   * https://github.com/sourcey/spectacle
 +  * [[https://www.baeldung.com/swagger-generate-pdf|Generate PDF from Swagger API Documentation | Baeldung]]
programming/documentation/swagger.1599204320.txt.gz · 마지막으로 수정됨: 2020/09/04 16:25 저자 kwon37xi