SpringMVC + Swagger 2 통합 (spring box - swagger)
Swagger 는 RESTFUL 인터페이스 문서 온라인 자동 생 성 + 기능 테스트 를 위 한 도구 소프트웨어 입 니 다.Swagger 는 규범 적 이 고 완전한 프레임 워 크 로 RESTFul 스타일 을 생 성, 설명, 호출, 시각 적 으로 볼 수 있 는 웹 서비스 spring fox - swagger 는 Spring 로 API 를 구축 하 는 자동 JSON API 문 서 를 위 한 오픈 소스 도구 집합 으로 개발 자 들 이 swagger 를 프로젝트 에 신속하게 통합 할 수 있 습 니 다.또한 swagger 를 따로 배치 하지 않 으 면 spring fox - swagger - ui 를 사용 하여 프로젝트 에 통합 할 수 있 습 니 다.
2. 프로젝트 도입 의존
여기에서 우 리 는 Maven 을 사용 하여 프로젝트 관 리 를 진행 합 니 다.https://mvnrepository.com springfox - swagger 를 검색 하면 Springfox Swagger 2 와 Springfox Swagger Ui 를 볼 수 있 습 니 다. 최신 2.7.0 버 전 을 사용 하여 해당 하 는 pom. xml 설정 을 가 져 옵 니 다. 다음 과 같 습 니 다.
: spring
io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
시작 할 때 오류 가 발생 할 수 있 습 니 다. 알림 은 com. fasterxml. jackson. core. jackson - databind 를 찾 을 수 없습니다. 의존 도 를 추가 해 야 합 니 다.
com.fasterxml.jackson.core
jackson-databind
2.6.6
배치
설정 부분 은 주로 두 부분 으로 나 뉘 는데 첫 번 째 는 Swagger 의 설정 입 니 다. 즉, 프로젝트 가 시 작 될 때 해당 하 는 설정 을 읽 어서 swagger 를 불 러 오고 문 서 를 스 캔 해 야 합 니 다. 또한 실행 환경 에 따라 swagger 스 캔 을 사용 할 지 여 부 를 결정 할 수 있 습 니 다.
1. swagger 설정
// WebAppConfig.java
package com.web.swagger2;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
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;
@Configuration
@EnableSwagger2
@EnableWebMvc
@ComponentScan(basePackages = {"com.web.api", "com.web.controller"}) //
public class WebAppConfig {
@Bean
public Docket customDocket() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
/**
*
* @return
*/
private ApiInfo apiInfo() {
Contact contact = new Contact(" ", "http://www.test.com", "[email protected]");
return new ApiInfoBuilder()
.contact(contact)
.title(" API ")
.description(" API ")
.version("3.0.0")
.build();
}
}
2. spring 설정
두 곳 을 주의해 야 합 니 다. 먼저 / v2 / api - docs 의 경 로 를 지원 해 야 합 니 다. 차단 되면 정확 한 문서 json 으로 돌아 갈 수 없습니다.그 다음 에 프로젝트 에서 권한 통 제 를 하면 swagger 와 관련 된 경 로 를 놓 아야 합 니 다.
springServlet
/* // /v2/api-docs
컨트롤 러 및 주해
컨트롤 러 (@ Controller) 는 스 캔 경로 (@ Component Scan) 에서 어떠한 설정 도 필요 하지 않 으 면 spring fox - swagger 에 의 해 인식 되 고 아래 의 예 는 간단 한 컨트롤 러 입 니 다.
@Controller
@RequestMapping("/test")
public class TestController {
@ApiOperation(value=" API",notes = " api")
@ResponseBody
@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String hello()
{
return "hello";
}
}
주 해 는 참고 하 시기 바 랍 니 다.http://springfox.github.io/springfox/javadoc/current/다음은 주로 사용 하 는 주해 입 니 다.
value api
notes
name
value
required boolean
paramType body、path、query、header、form
body @RequestBody POST
path url {}
query ?query=q ,jquery ajax data , {query:”q”},springMVC
header @RequestHeader
form , API
dataType , , , dataType = “java.util.Date”,springfox
value
required boolean
hidden boolean
프로젝트 시작 후 접근 가능http://localhost:8080/v2/api- docs, 이 인 터 페 이 스 는 json 형식의 인터페이스 문서 정 보 를 되 돌려 줍 니 다.
방문 하 다.http://localhost:8080/swagger- ui. html 문서 보기
제 가 직접 사용 하 는 정식 프로젝트 의 배치 로 인해 여 기 는 캡 처 를 하지 않 고 여러분 이 직접 체험 할 수 있 습 니 다.
질문 과 건의 가 있 으 면 메 시 지 를 남 길 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.