傅行帆 6 years ago
parent
commit
532a2158ee

+ 11
- 0
config-client/pom.xml View File

35
 			<artifactId>spring-cloud-starter-config</artifactId>
35
 			<artifactId>spring-cloud-starter-config</artifactId>
36
 		</dependency>
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
 		<dependency>
49
 		<dependency>
39
 			<groupId>org.springframework.boot</groupId>
50
 			<groupId>org.springframework.boot</groupId>
40
 			<artifactId>spring-boot-starter-test</artifactId>
51
 			<artifactId>spring-boot-starter-test</artifactId>

+ 40
- 0
config-client/src/main/java/com/example/demo/Swagger.java View File

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 View File

1
 package com.example.demo.controller;
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
 import org.springframework.beans.factory.annotation.Value;
6
 import org.springframework.beans.factory.annotation.Value;
4
 import org.springframework.stereotype.Controller;
7
 import org.springframework.stereotype.Controller;
8
+import org.springframework.web.bind.annotation.GetMapping;
9
+import org.springframework.web.bind.annotation.PathVariable;
5
 import org.springframework.web.bind.annotation.RequestMapping;
10
 import org.springframework.web.bind.annotation.RequestMapping;
6
 import org.springframework.web.bind.annotation.ResponseBody;
11
 import org.springframework.web.bind.annotation.ResponseBody;
7
 
12
 
11
  */
16
  */
12
 @Controller
17
 @Controller
13
 @RequestMapping("/")
18
 @RequestMapping("/")
19
+@Api("测试controller的API")
14
 public class TestController {
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
     @ResponseBody
24
     @ResponseBody
21
     public String test(){
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 View File

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/