Swagger是一個規范和完整的框架,用於生成、描述、調用和可視化RESTful風格的Web服務。簡單來說,Swagger是一個功能強大的接口管理工具,並且提供了多種編程語言的前后端分離解決方案。
- Swagger可以整合到代碼中,在開發時通過注解,編寫注釋,自動生成API文檔;
- 方便前后端分離開發
swagger是什么?
API Developmentfor Everyone
springboot中集成swagger
1、添加pom依賴
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
2、添加swagger配置
@EnableSwagger2 @RestController @SpringBootApplication public class FamilyServerApplication { public static void main(String[] args) { SpringApplication.run(FamilyServerApplication.class, args); } @RequestMapping("/") public String hello(){ return "hello billy!"; } }
3、在需要暴露的API上添加API注解
例如:
@Api("MemberManageController") @RestController @RequestMapping("member") public class MemberManageController extends BaseController { @Autowired private MembersManageService manageService; /** * 獲取成員 * @return */ @ApiOperation(value = "查詢家庭成員", notes = "查詢家庭成員") @ApiImplicitParams(@ApiImplicitParam(name = "name", value = "姓名", paramType = "query", dataType = "String")) @RequestMapping("getMembers") public Object getMembers(String name){ logger.debug("開始。。。"); System.out.println(name); Page<FamilyMembers> page = new Page<>(); IPage<FamilyMembers> membersByPage = manageService.getMembersByPage(page); Messager result = messager.successObjectResponse(membersByPage); return result; } }
4、啟動項目,訪問swagger-ui地址
演示項目地址為: http://localhost:9090/swagger-ui.html
結果如下:
5、接口調試
返回結果:
備注:項目開發中,如果前后端分離,采用swagger特別方便。