SpringBoot 통합 Swagger 2 절차 상세 설명
5313 단어 SpringBoot통합Swagger2
swagger 는 유행 하 는 API 개발 프레임 워 크 입 니 다.이 프레임 워 크 는'오픈 API 성명'(OpenAPI Specification,OAS)을 바탕 으로 전체 API 의 개발 주기 에 해당 하 는 해결 방안 을 제공 하 는 매우 방대 한 프로젝트(디자인,인 코딩,테스트 를 포함 하여 거의 모든 언어 를 지원 합 니 다)입 니 다.
springfox 대체 원리:
springfox 의 대체적인 원 리 는 프로젝트 가 시 작 된 과 종 에서 spring 컨 텍스트 가 초기 화 되 는 과정 에서 프레임 워 크 는 설정 에 따라 swagger 와 관련 된 bean 을 현재 컨 텍스트 에 자동 으로 불 러 오고 자동 검색 시스템 에서 api 문서 와 같은 종 류 를 생 성하 여 해당 하 는 정보 캐 시 로 생 성 할 수 있 습 니 다.프로젝트 MVC 제어 층 이 springMvc 를 사용한다 면 모든 Controller 류 를 자동 으로 검색 하고 해당 하 는 문서 설명 데 이 터 를 생 성 합 니 다.이 데 이 터 는 json 형식 입 니 다.경로:프로젝트 주소/v2/api-docs 를 통 해 이 데 이 터 를 방문 한 다음 swaggerUI 는 이 데이터 에 따라 해당 하 는 문서 설명 인터페이스 를 생 성 합 니 다.우 리 는 이 데 이 터 를 얻 을 수 있 기 때문에,우 리 는 자신의 페이지 를 생 성 할 수 있다.
SpringBoot 통합 Swagger 2
도입 의존
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
메모:jdk 1.8 이상 이 어야 swagger 2 를 실행 할 수 있 습 니 다.설정 클래스 설정 작성 Swagger
@Configuration
@EnableSwagger2
public class SwaggerConfig{
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("org.example.yourproject"))// package
.paths(PathSelectors.any())
.build();
}//springfox Docket( ) , Bean spring , , , ( ) , Swagger 。
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot Swagger2 RESTful API")
.description("rest api ")
.termsOfServiceUrl("https://www.cnblogs.com/yrxing/")
.contact("xing")
.version("1.0")
.build();
}
}//springfox ApiInfo , Docket
접근:http://localhost:{your_server_port}/swagger-ui.html
Swagger 2 상용 주해 사용
@Api()、@ApiOperation()
@RestController
@RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) // application/json
@Api(tags = " ")
public class HelloController {
ArrayList<User> users = new ArrayList<>();
@ApiOperation(value = " ", notes = " ")
@RequestMapping(value = {""}, method = RequestMethod.GET)
public List<User> hello() {
users.add(new User(" ", "luoji"));
users.add(new User(" ", "yewenjie"));
return users;
}
}
@ApiModel()、@ApiModelProperty()
@ApiModel(description = " ",value = " ")
public class User {
private String id;
@ApiModelProperty(value = " ")//value ( Description)
private String username;
@ApiModelProperty(hidden = true)// , hidden true , api .
private String password;
private String email;
private Integer age;
private Boolean enabled;
}
@ApiParam()
@ApiOperation(value = " ", notes = " url id ")
@RequestMapping(value = "getUser/{id}", method = RequestMethod.GET)
public User getUser(@ApiParam(naeme = "id",value = " id", required = true) @PathVariable(value = "id") String id) {
return new User(id, "itguang", "123456");
}//@ApiParam , , , .
@ApiImplicitParams()、@ApiImplicitparam()
・・・
@Api(" 1")
@Controller
public class swaggerTestUse(){
@ApiOperation(value = "apiOperationSwaggerTest", notes = "apiOperationSwagger ")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id ", required = true, dataType = "Integer", paramType = "query"),
@ApiImplicitParam(name = "brand", value = "brand", required = true, dataType = "BRAND", paramType = "body")
})
public void apiOperationSwaggerTest(Integer id, Brand band){
}
}
이상 은 SpringBoot 통합 Swagger 2 의 절차 에 대한 상세 한 내용 입 니 다.SpringBoot 통합 Swagger 2 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.