环境
- java:1.8
- spring boot 2.7.6
相关依赖
模块的
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.7.0</version>
</dependency>
添加这个依赖
在controller的注解示例:
@Tag(name = "发送短信验证码")
@RestController
public class SmsController {
@Autowired
private ISmsService smsService;
@Operation(summary = "发送短信")
@GetMapping("/sms")
public R sendSms(@RequestParam("phone") String phone,
@RequestParam("type") String type) {
return smsService.sendSms(phone, type);
}
@Operation(summary = "发送撤回用户协议验证码")
@GetMapping("/sms/disagree")
public R sendDisagreeSmsCode() {
return smsService.sendDisagreeSms();
}
}
加配置:
@OpenAPIDefinition
@Configuration
public class OpenAPIConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info().title("用户模块").version("1.0.0"));
}
}
运行起来,然后访问对应的端口:
到这里,模块的接口就可以访问的了。
如果每个模块都过特定的端口去访问,那显然是不方便的。特别是我这种0号随机端口的。
那怎么通过网关进行访问呢。
gateway 模块整合
在gateway模块添加以下依赖
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webflux-ui</artifactId>
<version>1.7.0</version>
</dependency>
我是用nacos作为配置中心,如果你也是用nacos你就加在nacos里,如果你用本地的配置就加在本地的配置里。
springdoc:
api-docs:
enabled: true
path: /v3/api-docs
swagger-ui:
enabled: true
config-url: /v3/api-docs/swagger-config
urls:
- name: gate-api
url: /v3/api-docs
- name: user-api
url: /uc/v3/api-docs
- name: res-api
url: /res/v3/api-docs
- name: dev-api
url: /dev/v3/api-docs
- name: ota-api
url: /ota/v3/api-docs
访问gateway的地址,加上swagger-ui.html
在右上角,可以发现切换到其他的模块了:
到此,集成完毕,听懂掌声~