spring boot整合swagger2
1.引入启动依赖
修改pom.xml文件,引入启动依赖
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.7.1.RELEASE</version>
</dependency>
2.增加CONFIG类
package com.mdjin.springcloud.config;
import org.springframework.beans.factory.annotation.Value;
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;
/**
* @author jinmaodong
* @date 2020/11/5
* @since 1.0.0
**/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Value("${server.version}")
private String version;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.mdjin.springcloud"))
.paths(PathSelectors.any())
.build();
}
/**
* 该套 API 说明,包含作者、简介、版本、host、服务URL
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("生产者服务")
.contact(new Contact("jinmaodong","www.xxxxx.com","jinmaodong@outlook.com"))
.version(version)
.termsOfServiceUrl("localhost:8001/")
.description("生产者服务")
.build();
}
}
3.修改业务代码
增加@API、@ApiOperation等注解
package com.mdjin.springcloud.payment.controller;
import com.mdjin.springcloud.entities.CommonResult;
import com.mdjin.springcloud.entities.Payment;
import com.mdjin.springcloud.payment.service.PaymentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author jinmaodong
* @date 2020/11/2
* @since 1.0.0
**/
@RestController
@Slf4j
@Api(tags = "支付服务",value = "支付服务")
public class PaymentController {
@Resource
private PaymentService paymentService;
@Value("${server.port}")
private String serverPort;
@Resource
private DiscoveryClient discoveryClient;
@PostMapping(value="/payment/create")
@ApiOperation("创建订单服务")
public CommonResult create(@RequestBody Payment payment){
int result = paymentService.create(payment);
log.info("插入结果:"+result);
if(result > 0){
return new CommonResult(200,"插入数据库成功.端口号:"+serverPort,result);
}else{
return new CommonResult(404,"插入数据库失败.端口号:"+serverPort,null);
}
}
@GetMapping(value="/payment/get/{id}")
@ApiOperation("查询订单服务-根据ID")
public CommonResult<Payment> getPaymentById(@PathVariable("id") Long id){
Payment payMent = paymentService.getPaymentById(id);
log.info("查询结果:"+payMent);
if(null != payMent){
return new CommonResult(200,"查询数据成功.端口号:"+serverPort,payMent);
}else{
return new CommonResult(404,"查询数据失败.端口号:"+serverPort,null);
}
}
@GetMapping(value="/payment/getAll")
@ApiOperation("查询订单服务-所有")
public CommonResult<Payment> getAll(){
List<Payment> payMent = paymentService.getAll();
log.info("查询结果:"+payMent);
if(null != payMent){
return new CommonResult(200,"查询数据成功.端口号:"+serverPort,payMent);
}else{
return new CommonResult(404,"查询数据失败.端口号:"+serverPort,null);
}
}
@GetMapping(value = "/payment/discovery")
@ApiOperation("服务发现")
public Object discovery(){
return discoveryClient;
}
}