Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yubinCloud
fairy-wiki
提交
2c67a6b2
F
fairy-wiki
项目概览
yubinCloud
/
fairy-wiki
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fairy-wiki
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2c67a6b2
编写于
4月 20, 2021
作者:
yubinCloud
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6-11 集成 Validation 参数校验功能,并完成对ebook查询的参数校验
上级
632d5ea1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
54 addition
and
7 deletion
+54
-7
pom.xml
pom.xml
+5
-0
src/main/java/io/github/yubincloud/fairywiki/controller/ControllerExceptionHandler.java
...loud/fairywiki/controller/ControllerExceptionHandler.java
+28
-0
src/main/java/io/github/yubincloud/fairywiki/controller/EbookController.java
...thub/yubincloud/fairywiki/controller/EbookController.java
+2
-1
src/main/java/io/github/yubincloud/fairywiki/dto/req/PageReqDto.java
...va/io/github/yubincloud/fairywiki/dto/req/PageReqDto.java
+6
-0
src/main/java/io/github/yubincloud/fairywiki/dto/resp/ErrorCode.java
...va/io/github/yubincloud/fairywiki/dto/resp/ErrorCode.java
+1
-0
web/src/views/admin/admin-ebook.vue
web/src/views/admin/admin-ebook.vue
+12
-6
未找到文件。
pom.xml
浏览文件 @
2c67a6b2
...
...
@@ -74,6 +74,11 @@
<version>
1.2.13
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-validation
</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
...
...
src/main/java/io/github/yubincloud/fairywiki/controller/ControllerExceptionHandler.java
0 → 100644
浏览文件 @
2c67a6b2
package
io.github.yubincloud.fairywiki.controller
;
import
io.github.yubincloud.fairywiki.dto.resp.ErrorCode
;
import
io.github.yubincloud.fairywiki.dto.resp.RestfulModel
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.validation.BindException
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
@ControllerAdvice
public
class
ControllerExceptionHandler
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ControllerExceptionHandler
.
class
);
/**
* 统一处理参数校验异常
* @param e 捕捉到的异常
*/
@ExceptionHandler
(
value
=
BindException
.
class
)
@ResponseBody
public
RestfulModel
<
Object
>
validExceptionHandler
(
BindException
e
)
{
String
exceptionMsg
=
e
.
getBindingResult
().
getAllErrors
().
get
(
0
).
getDefaultMessage
();
LOG
.
warn
(
"参数校验失败:{}"
,
exceptionMsg
);
return
new
RestfulModel
<>(
ErrorCode
.
ARGS_VALIDATION_ERROR
,
exceptionMsg
,
null
);
}
}
src/main/java/io/github/yubincloud/fairywiki/controller/EbookController.java
浏览文件 @
2c67a6b2
...
...
@@ -11,6 +11,7 @@ import io.github.yubincloud.fairywiki.service.EbookService;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
java.util.List
;
@RestController
...
...
@@ -24,7 +25,7 @@ public class EbookController {
* 获取全部的电子书信息
*/
@GetMapping
(
"/list"
)
public
RestfulModel
<
PageRespDto
<
EbookQueryRespDto
>>
getAllEbook
(
PageReqDto
pageReqDto
)
{
public
RestfulModel
<
PageRespDto
<
EbookQueryRespDto
>>
getAllEbook
(
@Valid
PageReqDto
pageReqDto
)
{
PageRespDto
<
EbookQueryRespDto
>
bookList
=
ebookService
.
queryAll
(
pageReqDto
.
getPageNum
(),
pageReqDto
.
getPageSize
());
return
new
RestfulModel
<>(
ErrorCode
.
SUCCESS
,
""
,
bookList
);
}
...
...
src/main/java/io/github/yubincloud/fairywiki/dto/req/PageReqDto.java
浏览文件 @
2c67a6b2
...
...
@@ -2,13 +2,19 @@ package io.github.yubincloud.fairywiki.dto.req;
import
lombok.Data
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotNull
;
/**
* 当需要对数据库的查询进行分页时需要继承此 Req 类
*/
@Data
public
class
PageReqDto
{
@NotNull
(
message
=
"【页码】不能为空"
)
private
int
pageNum
;
@NotNull
(
message
=
"【每页条数】不能为空"
)
@Max
(
value
=
1000
,
message
=
"【每页条数】不能超过1000"
)
private
int
pageSize
;
}
src/main/java/io/github/yubincloud/fairywiki/dto/resp/ErrorCode.java
浏览文件 @
2c67a6b2
...
...
@@ -4,4 +4,5 @@ public class ErrorCode {
public
static
final
int
SUCCESS
=
0
;
public
static
final
int
ARGS_VALIDATION_ERROR
=
-
1000
;
}
web/src/views/admin/admin-ebook.vue
浏览文件 @
2c67a6b2
...
...
@@ -67,6 +67,7 @@
<
script
lang=
"ts"
>
import
{
defineComponent
,
onMounted
,
ref
}
from
'
vue
'
;
import
axios
from
'
axios
'
;
import
{
message
}
from
'
ant-design-vue
'
export
default
defineComponent
({
name
:
'
AdminEbook
'
,
...
...
@@ -74,7 +75,7 @@ export default defineComponent({
const
ebooks
=
ref
();
const
pagination
=
ref
({
current
:
1
,
pageSize
:
4
,
pageSize
:
5000
,
total
:
0
});
const
loading
=
ref
(
false
);
...
...
@@ -130,12 +131,17 @@ export default defineComponent({
}).
then
((
response
)
=>
{
loading
.
value
=
false
;
const
respData
=
response
.
data
;
const
pageData
=
respData
.
data
;
ebooks
.
value
=
pageData
.
list
;
// 重置分页按钮
pagination
.
value
.
current
=
queryParams
.
pageNum
;
pagination
.
value
.
total
=
pageData
.
total
;
if
(
respData
.
code
==
0
)
{
const
pageData
=
respData
.
data
;
ebooks
.
value
=
pageData
.
list
;
// 重置分页按钮
pagination
.
value
.
current
=
queryParams
.
pageNum
;
pagination
.
value
.
total
=
pageData
.
total
;
}
else
{
message
.
error
(
respData
.
msg
);
}
});
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录