알이즈웰

swagger 본문

Programming/Back-End

swagger

2017. 9. 21. 15:04

API 테스트 방법은 postman 외에 swagger라는 것도 있다.


-

아래 짧은 설명은 swagger 공식 홈페이지 메인에 해당 내용에 대해 소개하는 글이다.

Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and documentation, to test and deployment.

https://swagger.io/


>내맘대루 번역

swagger는 세계에서 가장 큰 오픈API 사양을 위한 API 개발 툴 프레임워크이다.


>papago

Swagger는 OAI(OpengeI)사양(OAS)을 위한 API개발 도구로, 설계 및 문서 전반에서 테스트 및 구현을 통해 전체 API라이프 사이클 전반에 걸쳐 개발할 수 있습니다.



-

아래는 wikipedia의 설명.

Swagger is an open source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services. While most users identify Swagger by the Swagger UI tool, the Swagger toolset includes support for automated documentation, code generation, and test case generation.


Sponsored by SmartBear Software, Swagger has been a strong supporter of Open Source Software and has widespread adoption.

https://en.wikipedia.org/wiki/Swagger_(software)


>내맘대루 번역

Swagger는 개발 디자인, 빌드, 문서, RESTful 웹 서비스를 도와주는 큰 생태계를 베이스로 한 오픈소스 소프트웨어 프레임워크이다. 대부분의 사용자는 Swagger를 Swagger UI 툴로 인식하지만 Swagger 툴셋은 자동화된 문서, 코드 설계, 테스트 케이스 설계 지원을 포함한다.

SmartBear 소프트웨어를 바탕으로 Swagger는 오픈소스 소프트웨어의 강력한 도움이 되고 널리 채택받고 있다.


>papago

Swagger는 개발자가 개발하고, 구축하고, 문서화하고, 사용하는 데 도움이 되는 대규모 툴 에코 시스템을 지원하는 개방형 소스 소프트웨어 프레임워크입니다. 대부분의 사용자가 SwaggerUI툴을 사용하여 SwaggerUI를 식별하는 반면, Swagger툴셋에는 자동화된 문서 생성, 코드 생성 및 테스트 사례 생성이 포함됩니다.

SmartBear소프트웨어가 후원하는 스웨이저는 오픈 소스 소프트웨어의 강력한 후원자였으며 널리 채택되었습니다.



-

사용 예(required 속성)

1. dto에 설정

package com.w.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @ApiModel("상세 Dto") public class CdDetailInfoDto { @ApiModelProperty(value = "코드", required = true) private String cd ; @ApiModelProperty(value = "채널") private String channel ; }


2. swagger UI model.


Response Class (Status 200)

Model

상세 Dto {

cd (string): 코드 ,

channel (string, optional): 채널

}



@ApiModelProperty의 속성 중 required docs :

https://swagger.io/docs/specification/data-models/data-types/#required


기본적으로 false임. optional이다.(model에 확인해보면 해당 프로퍼티에 optional이라고 명시되어 나옴)


annotation 속성 선언한 파일에 주석된 설명을 보면 

Specifies if the parameter is required or not.

>papago

매개 변수가 필요한지 여부를 지정합니다.


그렇다구한다.











Comments