一、在启动类中添加如下代码:(目的是为了打印输出swagger
的地址等)
注解:@Slf4j
实现接口:CommandLineRunner
依赖注入:
@Autowiredprivate Environment environment;
@Overridepublic void run(String... strings) throws Exception {try {String port = Optional.ofNullable(environment.getProperty("server.port")).orElse("8080");log.info("\n------------------------环境信息---------------------------\n\t" +"Application '{}' is running! Access URLs:\n\t" +"Local : \thttp://{}:{}\n\t" +"Swagger: \thttp://{}:{}/doc.html\n\t" +"Profile(s): \t{}\n----------------------------------------------------------",environment.getProperty("spring.application.name"),InetAddress.getLocalHost().getHostAddress(),port,InetAddress.getLocalHost().getHostAddress(),port,Arrays.toString(environment.getActiveProfiles()));} catch (UnknownHostException e) {e.printStackTrace();}}
启动类全部代码如下:
/** Copyright (c) 2018-2028, Chill Zhuang All rights reserved.** Redistribution and use in source and binary forms, with or without* modification, are permitted provided that the following conditions are met:** Redistributions of source code must retain the above copyright notice,* this list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright* notice, this list of conditions and the following disclaimer in the* documentation and/or other materials provided with the distribution.* Neither the name of the dreamlu.net developer nor the names of its* contributors may be used to endorse or promote products derived from* this software without specific prior written permission.* Author: Chill 庄骞 (smallchill@163.com)*/
package org.springblade;import lombok.extern.slf4j.Slf4j;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.launch.BladeApplication;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.client.RestTemplate;import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.Optional;/*** 启动器** @author Chill*/
@Slf4j
@EnableScheduling
@SpringBootApplication
public class Application implements CommandLineRunner {@Autowiredprivate Environment environment;@Beanpublic RestTemplate restTemplate(RestTemplateBuilder builder){return builder.build();}public static void main(String[] args) {BladeApplication.run(CommonConstant.APPLICATION_NAME, Application.class, args);}@Overridepublic void run(String... strings) throws Exception {try {String port = Optional.ofNullable(environment.getProperty("server.port")).orElse("8080");log.info("\n------------------------环境信息---------------------------\n\t" +"Application '{}' is running! Access URLs:\n\t" +"Local : \thttp://{}:{}\n\t" +"Swagger: \thttp://{}:{}/doc.html\n\t" +"Profile(s): \t{}\n----------------------------------------------------------",environment.getProperty("spring.application.name"),InetAddress.getLocalHost().getHostAddress(),port,InetAddress.getLocalHost().getHostAddress(),port,Arrays.toString(environment.getActiveProfiles()));} catch (UnknownHostException e) {e.printStackTrace();}}}
二、找到需要生成Swagger接口文档的控制器类(eg:ActiveCodeController):
1.在控制器类的上面添加注解:
@Api(value = "卡信息", tags = "卡信息接口")
value
里面写的是:这个控制器的描述,或者功能
如图所示:
2.在需要生成文档的方法上写注解:
@ApiOperation(value = "详情", notes = "传入cardInfo")
value
:接口的功能或者描述
notes
:传入参数的描述
全部代码:
/*** 详情*/@GetMapping("/detail")@ApiOperationSupport(order = 1)@ApiOperation(value = "详情", notes = "传入cardInfo")public R<CardInfo> detail(CardInfo cardInfo) {CardInfo detail = cardInfoService.getOne(Condition.getQueryWrapper(cardInfo));return R.data(detail);}
或者:
/*** 分页 卡信息*/@GetMapping("/list")@ApiOperationSupport(order = 2)@ApiOperation(value = "分页", notes = "传入cardInfo")public R<IPage<CardInfo>> list(CardInfo cardInfo, Query query) {IPage<CardInfo> pages = cardInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(cardInfo));return R.data(pages);}
其他的可以自己补充。
三、配置Swagger
的配置类,类路径:BladeX-Boot/src/main/java/org/springblade/common/config/SwaggerConfiguration.java
加入如下代码:
@Beanpublic Docket developerDocket() {return docket("开发者中心接口", Collections.singletonList(AppConstant.BASE_PACKAGES + ".modules.developer"));}
【开发者接口】:就是Swagger的接口功能的名称
【.modules.developer】:让Swagger扫描哪个包,指向包就可以。
然后启动服务,启动完成之后,查看控制台打印的Swagger地址。
点击地址就可以查看