傅行帆 6 年之前
父節點
當前提交
532a2158ee

+ 11
- 0
config-client/pom.xml 查看文件

@@ -35,6 +35,17 @@
35 35
 			<artifactId>spring-cloud-starter-config</artifactId>
36 36
 		</dependency>
37 37
 
38
+		<dependency>
39
+			<groupId>io.springfox</groupId>
40
+			<artifactId>springfox-swagger2</artifactId>
41
+			<version>2.7.0</version>
42
+		</dependency>
43
+		<dependency>
44
+			<groupId>io.springfox</groupId>
45
+			<artifactId>springfox-swagger-ui</artifactId>
46
+			<version>2.7.0</version>
47
+		</dependency>
48
+
38 49
 		<dependency>
39 50
 			<groupId>org.springframework.boot</groupId>
40 51
 			<artifactId>spring-boot-starter-test</artifactId>

+ 40
- 0
config-client/src/main/java/com/example/demo/Swagger.java 查看文件

@@ -0,0 +1,40 @@
1
+package com.example.demo;
2
+
3
+import org.springframework.context.annotation.Bean;
4
+import org.springframework.context.annotation.Configuration;
5
+import springfox.documentation.builders.ApiInfoBuilder;
6
+import springfox.documentation.builders.PathSelectors;
7
+import springfox.documentation.builders.RequestHandlerSelectors;
8
+import springfox.documentation.service.ApiInfo;
9
+import springfox.documentation.service.Contact;
10
+import springfox.documentation.spi.DocumentationType;
11
+import springfox.documentation.spring.web.plugins.Docket;
12
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
13
+
14
+/**
15
+ * @author FXF
16
+ * @date 2018-09-06
17
+ */
18
+@Configuration
19
+@EnableSwagger2
20
+public class Swagger {
21
+    @Bean
22
+    public Docket docket(){
23
+        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
24
+                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
25
+                .paths(PathSelectors.any()).build();
26
+    }
27
+    //构建api文档的详细信息函数
28
+    private ApiInfo apiInfo(){
29
+        return new ApiInfoBuilder()
30
+                //页面标题
31
+                .title("springBoot使用Swagger2构建RESTful API")
32
+                //创建人
33
+                .contact(new Contact("fuxingfan","","fuxingfan@dingtalk.com"))
34
+                //版本号
35
+                .version("1.0")
36
+                //描述
37
+                .description("API 描述")
38
+                .build();
39
+    }
40
+}

+ 18
- 6
config-client/src/main/java/com/example/demo/controller/TestController.java 查看文件

@@ -1,7 +1,12 @@
1 1
 package com.example.demo.controller;
2 2
 
3
+import io.swagger.annotations.Api;
4
+import io.swagger.annotations.ApiImplicitParam;
5
+import io.swagger.annotations.ApiOperation;
3 6
 import org.springframework.beans.factory.annotation.Value;
4 7
 import org.springframework.stereotype.Controller;
8
+import org.springframework.web.bind.annotation.GetMapping;
9
+import org.springframework.web.bind.annotation.PathVariable;
5 10
 import org.springframework.web.bind.annotation.RequestMapping;
6 11
 import org.springframework.web.bind.annotation.ResponseBody;
7 12
 
@@ -11,15 +16,22 @@ import org.springframework.web.bind.annotation.ResponseBody;
11 16
  */
12 17
 @Controller
13 18
 @RequestMapping("/")
19
+@Api("测试controller的API")
14 20
 public class TestController {
15 21
 
16
-    @Value("${abc}")
17
-    private String abc;
18
-
19
-    @RequestMapping("/test")
22
+    @ApiOperation(value = "测试无参", notes = "无参")
23
+    @GetMapping("/test")
20 24
     @ResponseBody
21 25
     public String test(){
22
-        System.out.println(abc);
23
-        return "ok====" + abc;
26
+        return "ok====";
24 27
     }
28
+
29
+    @ApiOperation(value = "测试restful接口", notes = "测试接口")
30
+    @ApiImplicitParam(name = "id", value = "测试ID", paramType = "path", required = true, dataType = "String")
31
+    @GetMapping("/test/{id}")
32
+    @ResponseBody
33
+    public String testSwagger(@PathVariable String id){
34
+        return id;
35
+    }
36
+
25 37
 }

+ 4
- 4
config-client/src/main/resources/bootstrap.properties 查看文件

@@ -1,4 +1,4 @@
1
-spring.application.name=application
2
-spring.cloud.config.profile=dev
3
-spring.cloud.config.label=master
4
-spring.cloud.config.uri=http://localhost:7001/
1
+#spring.application.name=application
2
+#spring.cloud.config.profile=dev
3
+#spring.cloud.config.label=master
4
+#spring.cloud.config.uri=http://localhost:7001/