Skip to content

Commit 72887b5

Browse files
committed
添加文档
1 parent cabc33d commit 72887b5

57 files changed

Lines changed: 37905 additions & 32 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

core/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,9 @@
6464
<groupId>org.projectlombok</groupId>
6565
<artifactId>lombok</artifactId>
6666
</dependency>
67+
<dependency>
68+
<groupId>io.springfox</groupId>
69+
<artifactId>springfox-swagger2</artifactId>
70+
</dependency>
6771
</dependencies>
6872
</project>

core/src/main/java/info/xiaomo/core/controller/Result.java

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package info.xiaomo.core.controller;
22

3+
import io.swagger.annotations.ApiModel;
4+
import io.swagger.annotations.ApiModelProperty;
5+
import lombok.Data;
6+
37
/**
48
* 把今天最好的表现当作明天最新的起点..~
59
* いま 最高の表現 として 明日最新の始発..~
@@ -14,10 +18,17 @@
1418
* @Description: 返回结果
1519
* @Copyright(©) 2015 by xiaomo.
1620
*/
21+
@Data
22+
@ApiModel("返回结果")
1723
public class Result {
1824

25+
@ApiModelProperty(value = "返回码")
1926
private int code;
27+
28+
@ApiModelProperty(value = "返回消息")
2029
private String message;
30+
31+
@ApiModelProperty(value = "返回数据")
2132
private Object data;
2233

2334
/**
@@ -58,29 +69,4 @@ public Result(int code, String message, Object data) {
5869
this.message = message;
5970
this.data = data;
6071
}
61-
62-
63-
public int getCode() {
64-
return code;
65-
}
66-
67-
public void setCode(int code) {
68-
this.code = code;
69-
}
70-
71-
public String getMessage() {
72-
return message;
73-
}
74-
75-
public void setMessage(String message) {
76-
this.message = message;
77-
}
78-
79-
public Object getData() {
80-
return data;
81-
}
82-
83-
public void setData(Object data) {
84-
this.data = data;
85-
}
8672
}

core/src/main/java/info/xiaomo/core/model/BaseModel.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
44
import info.xiaomo.core.filter.CustomDateSerializer;
5+
import io.swagger.annotations.ApiModel;
6+
import io.swagger.annotations.ApiModelProperty;
57
import lombok.AllArgsConstructor;
68
import lombok.Data;
79
import lombok.NoArgsConstructor;
@@ -28,22 +30,27 @@
2830
@Data
2931
@AllArgsConstructor
3032
@NoArgsConstructor
33+
@ApiModel("基类")
3134
public abstract class BaseModel {
3235

3336
@Id
3437
@GeneratedValue(strategy = GenerationType.AUTO)
3538
@Column(name = "Id")
39+
@ApiModelProperty(value = "id")
3640
private long id;
3741

3842
@Version
3943
@Column(name = "Version")
44+
@ApiModelProperty(value = "版本号")
4045
private long version;
4146

4247
@JsonSerialize(using = CustomDateSerializer.class)
4348
@Column(name = "CreateTime")
49+
@ApiModelProperty(value = "创建时间")
4450
private Date createTime;
4551

4652
@JsonSerialize(using = CustomDateSerializer.class)
4753
@Column(name = "UpdateTime")
54+
@ApiModelProperty(value = "更新时间")
4855
private Date updateTime;
4956
}

pom.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
<!-- mail -->
6363
<javax-mail.version>1.4.7</javax-mail.version>
6464
<lombak.version>1.16.10</lombak.version>
65+
<springfox-swagger-ui.version>2.2.2</springfox-swagger-ui.version>
6566
</properties>
6667

6768

@@ -122,6 +123,18 @@
122123
<artifactId>lombok</artifactId>
123124
<version>${lombak.version}</version>
124125
</dependency>
126+
<!-- Swagger -->
127+
<dependency>
128+
<groupId>io.springfox</groupId>
129+
<artifactId>springfox-swagger-ui</artifactId>
130+
<version>${springfox-swagger-ui.version}</version>
131+
</dependency>
132+
133+
<dependency>
134+
<groupId>io.springfox</groupId>
135+
<artifactId>springfox-swagger2</artifactId>
136+
<version>${springfox-swagger-ui.version}</version>
137+
</dependency>
125138
</dependencies>
126139
</dependencyManagement>
127140

website/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
<artifactId>core</artifactId>
1818
<version>1.0.0-SNAPSHOT</version>
1919
</dependency>
20+
<dependency>
21+
<groupId>io.springfox</groupId>
22+
<artifactId>springfox-swagger-ui</artifactId>
23+
</dependency>
2024
<dependency>
2125
<groupId>junit</groupId>
2226
<artifactId>junit</artifactId>

website/src/main/java/info/xiaomo/website/XiaomoMain.java

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import org.springframework.context.annotation.Configuration;
88
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
99
import org.springframework.transaction.annotation.EnableTransactionManagement;
10-
import org.springframework.web.bind.annotation.RequestMapping;
11-
import org.springframework.web.bind.annotation.RestController;
1210

1311
/**
1412
* 把今天最好的表现当作明天最新的起点..~
@@ -30,15 +28,34 @@
3028
@EntityScan("info.xiaomo.*.model")
3129
@EnableTransactionManagement
3230
@EnableJpaRepositories("info.xiaomo.*.dao")
33-
@RestController
3431
public class XiaomoMain {
3532

33+
/**
34+
* @Api:用在类上,说明该类的作用
35+
@ApiOperation:用在方法上,说明方法的作用
36+
@ApiImplicitParams:用在方法上包含一组参数说明
37+
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
38+
paramType:参数放在哪个地方
39+
header-->请求参数的获取:@RequestHeader
40+
query-->请求参数的获取:@RequestParam
41+
path(用于restful接口)-->请求参数的获取:@PathVariable
42+
body(不常用)
43+
form(不常用)
44+
name:参数名
45+
dataType:参数类型
46+
required:参数是否必须传
47+
value:参数的意思
48+
defaultValue:参数的默认值
49+
@ApiResponses:用于表示一组响应
50+
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
51+
code:数字,例如400
52+
message:信息,例如"请求参数没填好"
53+
response:抛出异常的类
54+
@ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
55+
@ApiModelProperty:描述一个model的属性
56+
*/
3657
public static void main(String[] args) throws Exception {
3758
SpringApplication.run(XiaomoMain.class, args);
3859
}
3960

40-
@RequestMapping("/")
41-
String index() {
42-
return "Hello World! this is website index";
43-
}
4461
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package info.xiaomo.website.config;
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.spi.DocumentationType;
10+
import springfox.documentation.spring.web.plugins.Docket;
11+
import springfox.documentation.swagger2.annotations.EnableSwagger2;
12+
13+
/**
14+
* 把今天最好的表现当作明天最新的起点..~
15+
* いま 最高の表現 として 明日最新の始発..~
16+
* Today the best performance as tomorrow newest starter!
17+
* Created by IntelliJ IDEA.
18+
*
19+
* @author: xiaomo
20+
* @github: https://github.com/qq83387856
21+
* @email: hupengbest@163.com
22+
* @QQ_NO: 83387856
23+
* @Date: 2016/11/10 10:42
24+
* @Description: 用户实体类
25+
* @Copyright(©) 2015 by xiaomo.
26+
**/
27+
28+
@Configuration
29+
@EnableSwagger2
30+
public class Swagger2Config {
31+
32+
@Bean
33+
public Docket createRestApi() {
34+
return new Docket(DocumentationType.SWAGGER_2)
35+
.apiInfo(apiInfo())
36+
.select()
37+
.apis(RequestHandlerSelectors.basePackage("info.xiaomo.website"))
38+
.paths(PathSelectors.any())
39+
.build();
40+
}
41+
42+
private ApiInfo apiInfo() {
43+
return new ApiInfoBuilder()
44+
.title("Spring Boot中使用Swagger2构建RESTful APIs")
45+
.description("api根地址:http://api.xiaomo.info:8080/")
46+
.termsOfServiceUrl("http://blog.xiaomo.info/")
47+
.contact("小莫")
48+
.version("1.0")
49+
.build();
50+
}
51+
}

website/src/main/java/info/xiaomo/website/controller/AdminUserController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
import info.xiaomo.core.untils.RandomUtil;
99
import info.xiaomo.website.model.AdminModel;
1010
import info.xiaomo.website.service.AdminUserService;
11+
import io.swagger.annotations.Api;
12+
import io.swagger.annotations.ApiOperation;
1113
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.http.MediaType;
1215
import org.springframework.web.bind.annotation.*;
1316

1417
import java.util.List;
@@ -37,6 +40,7 @@
3740
*/
3841
@RestController
3942
@RequestMapping("/adminUser")
43+
@Api("后台用户相关api")
4044
public class AdminUserController extends BaseController {
4145

4246
private final AdminUserService service;
@@ -51,6 +55,7 @@ public AdminUserController(AdminUserService service) {
5155
*
5256
* @return Result
5357
*/
58+
@ApiOperation(value = "获取用户信息", notes = "根据用户帐号和密码登录后台",httpMethod = "POST", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
5459
@RequestMapping(value = "login", method = RequestMethod.POST)
5560
public Result login(@RequestBody AdminModel model) {
5661
AdminModel adminModel = service.findAdminUserByUserName(model.getUserName());

website/src/main/java/info/xiaomo/website/controller/ChangeLogController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import info.xiaomo.core.controller.Result;
66
import info.xiaomo.website.model.ChangeLogModel;
77
import info.xiaomo.website.service.ChangeLogService;
8+
import io.swagger.annotations.Api;
89
import org.springframework.beans.factory.annotation.Autowired;
910
import org.springframework.web.bind.annotation.*;
1011

@@ -26,6 +27,7 @@
2627
**/
2728
@RestController
2829
@RequestMapping("/changeLog")
30+
@Api("更新日志相关api")
2931
public class ChangeLogController extends BaseController {
3032

3133
private final ChangeLogService service;

website/src/main/java/info/xiaomo/website/controller/LinkController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import info.xiaomo.core.controller.Result;
66
import info.xiaomo.website.model.LinkModel;
77
import info.xiaomo.website.service.LinkService;
8+
import io.swagger.annotations.Api;
89
import org.springframework.beans.factory.annotation.Autowired;
910
import org.springframework.web.bind.annotation.PathVariable;
1011
import org.springframework.web.bind.annotation.RequestBody;
@@ -29,6 +30,7 @@
2930
**/
3031
@RestController
3132
@RequestMapping("/link")
33+
@Api("友情链接相关api")
3234
public class LinkController extends BaseController {
3335

3436
private final LinkService service;

0 commit comments

Comments
 (0)