SpringBoot 통합 Swagger 2 온라인 API 문서 구축 코드 상세 설명
5849 단어 SpringBootSwagger2API문서.
pom.xml
<!--swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.6</version>
</dependency>
swagger 2 설정 클래스
package com.liud.demo.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* TODO
* swagger2
* @author liud
* @version 1.0
*/
@Configuration
@EnableSwagger2
public class Swagger2 {
// swagger2
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2) // api swagger2
.apiInfo(apiInfo()) // api
.select()
//.apis(RequestHandlerSelectors.basePackage("com.liud.demo.controller")) // controller
//.apis(RequestHandlerSelectors.any()) // API
//.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) // @Api Controller API
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) // @ApiOperation API
.paths(PathSelectors.any())
.build();
}
//api
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("SpringBootDemo API") //
.contact(new Contact("liud", //
"",
"")) //
.description("SpringBootDemo API")//
.version("1.0.0")//
.termsOfServiceUrl("")//
.build();
}
}
Controller
package com.liud.demo.controller;
import com.liud.demo.service.HelloService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* TODO
*
* @author liud
* @version 1.0
*/
@RestController
@Api(tags = {"hello "})
public class HelloController {
@ApiOperation(value = " ")
@RequestMapping(value = "/getuserinfo",method = RequestMethod.POST)
public String getUserInfo(HttpServletRequest request,
@ApiParam(name="username",value = " ",required = true) String username){
return " :"+username+", !";
}
}
두 번 째 부분 은 ① 원래 경로 모드 를 사용한다.브 라 우 저 에 url 입력:
http://{ip}:{port}/swagger-ui.html#/
나의 주소:http://127.0.0.1:8081/swagger-ui.html
② 문서 모드
브 라 우 저 에 url 입력:
http://{ip}:{port}/doc.html
나의 주소:http://127.0.0.1:8081/doc.html
제3 부분 swagger 2 상용 주해
자주 사용 하 는 주석:
@Api()는 클래스 에 사 용 됩 니 다.
이 종 류 는 swagger 의 자원 임 을 나타 낸다.
tagsC 설명
valueC 도 tags 로 대체 할 수 있 음 을 설명 합 니 다.
하지만 tags 에 여러 값 이 있 으 면 여러 list 가 생 성 됩 니 다.
효과:
@ApiOperation()방법 에 사용 하기;
http 요청 동작 표시
value 방법 설명 에 사용
notes 알림 내용 에 사용
tags 는 다시 그룹 을 나 눌 수 있 습 니 다(상황 에 따라 사용)
@Apiparam()은 방법,파라미터,필드 설명 에 사 용 됩 니 다.
매개 변수 에 메타 데이터 추가(설명 또는 필수 여부 등)
namec 매개 변수 이름
valueC 매개 변수 설명
required C 필수 여부
@ApiParam(name="username",value = " ",required = true) String username
효과:SpringBoot 통합 Swagger 2 온라인 API 문서 구축 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 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에 따라 라이센스가 부여됩니다.