环境Maven+Swagger2+SpringBoot+jdk1.8
1.pom.xml配置
4.0.0
org.springframework.boot
spring-boot-starter-parent
1.5.7.RELEASE
com.hodays
swagger_hodays
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
org.springframework.boot
spring-boot-maven-plugin
maven-compiler-plugin
1.8
1.8
4.0.0
org.springframework.boot
spring-boot-starter-parent
1.5.7.RELEASE
com.hodays
swagger_hodays
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter-web
io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
org.springframework.boot
spring-boot-maven-plugin
maven-compiler-plugin
1.8
1.8
2.config配置
package com.huaihkiss.swaggertest.config;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.huaihkiss.swaggertest"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("HODAYS API接口测试:")
.version("1.0")
.build();
}
}
3.Controller接口
package com.huaihkiss.swaggertest.controller.web_hodays;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Description;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import utils.Constant;
import utils.HttpRequest;
import utils.SystemException;
import javax.websocket.server.PathParam;
import javax.ws.rs.FormParam;
import java.util.HashMap;
import java.util.Map;
/**
* CMS活动模块接口测试
* @author liumengwei
* @Time 2017/10/9
*
*/
@Api(value="CMS活动模块接口测试", description = "接口测试", tags = "CMS活动")
@RestController
public class WActivityController {
private final static Logger logger = LoggerFactory.getLogger(WActivityController.class);
/**
* 活动详细信息接口
* @param aid 活动id
* @return org.springframework.http.ResponseEntity
* @author liumengwei
* @Date 2017/10/11
*/
@ApiOperation(value = "活动详细信息接口",notes = "活动详细信息接口contents")
@GetMapping(value = "contents", params = {"aid"}, produces = "application/json; charset=utf-8")
public ResponseEntity contents(
@ApiParam(name = "aid", value = "活动id") @PathParam("aid") Integer aid){
try {
String result = HttpRequest.sendGet(
String.format(Constant.WEB_HODAYS_URL + Constant.CONTENTS, aid),
null
);
return ResponseEntity.ok(
result
);
} catch (Exception ex) {
logger.error(ex.getMessage());
return ResponseEntity.ok(SystemException.SYSTEM_EXCEPTION.getDescription());
}
}
}
contents(
@ApiParam(name = "aid", value = "活动id") @PathParam("aid") Integer aid){
try {
String result = HttpRequest.sendGet(
String.format(Constant.WEB_HODAYS_URL + Constant.CONTENTS, aid),
null
);
return ResponseEntity.ok(
result
);
} catch (Exception ex) {
logger.error(ex.getMessage());
return ResponseEntity.ok(SystemException.SYSTEM_EXCEPTION.getDescription());
}
}
}
4.启动main配置
package com.huaihkiss.swaggertest;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
@SpringBootApplication(scanBasePackages="com.huaihkiss.swaggertest")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
5.application.yml配置
server:
port: 9999
context-path: /api
博主扣扣: 博主微信: