PigX整合knife4j
首先是对应的依赖
<dependency><groupId>io.springboot</groupId><artifactId>knife4j-openapi3-ui</artifactId></dependency>
knife4j是swagger的增强版所以直接使用他的增强版本就行了
但是还要引入swagger依赖因为我们要使用pig框架下的依赖
<dependency><groupId>com.blueswit</groupId><artifactId>infoplat-common-swagger</artifactId>
</dependency>
前面我们讲了代码生成的步骤,这里在pingXcloud框架下的knife4j的整合
我们引入完依赖之后
首先在我们之前生成的代码框架里面的启动类上面添加对应的注解,如果是自动生成的话就不需要再写注解了
@EnableOpenApi("demo")//这里指的是网关的路由前缀,就是前端发起请求到后端的时候的前缀,前端发来刚好是demo所以能对上,这里不是服务名
@EnableInfoplatFeignClients
@EnableDiscoveryClient
@EnableInfoplatResourceServer
@SpringBootApplication
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}
上面跟knife4j有关的是第一个注解他是开启测试接口文档的,这个注解的优点是能够将多个微服务的测试接口文档整合在一个网页里面,而注解里面的参数就是网关路由的前缀也就是,前端发起请求的前缀就比如/demo/pages
而这个请求的接口我们就会设置一个网关路由,路由到对应的微服务实例上面去,就比如说我们拦截所有的/demo请求到demo微服务上去
就比如说上面这个图里面的他会将所有的/infoplat-mession/**下的所有多级请求路径都拦截传给在nacos上注册为infoplat-mession-biz微服务实例,所以他的拦截的网关路由为/infoplat-mession路径下的所有请求,所以他的前缀是/infoplat-mession
所以上面的注解里面的参数就能够解释了
controller类
然后就是controller类上的注解Tag注解里面的name就是knife4jUI左边的描述
在方法上面
Operation里面的参数含义:summary就是左边对于这个controller对应的标签展开能看见的东西,description就是对于这个方法描述
但是注意我们使用PigX整合的knife4j的时候上面的切换就是按nacos里面的服务名实例来切换的