Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lakernote
EasyAdmin
提交
f5934210
E
EasyAdmin
项目概览
lakernote
/
EasyAdmin
8 个月 前同步成功
通知
14
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
EasyAdmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f5934210
编写于
11月 25, 2022
作者:
lakernote
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
枚举类参数和响应
上级
9419c339
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
40 addition
and
42 deletion
+40
-42
src/main/java/com/laker/admin/framework/ext/mvc/IEnum.java
src/main/java/com/laker/admin/framework/ext/mvc/IEnum.java
+10
-0
src/main/java/com/laker/admin/framework/ext/mvc/StringToEnumConvertFactory.java
...r/admin/framework/ext/mvc/StringToEnumConvertFactory.java
+4
-4
src/main/java/com/laker/admin/module/enums/DemoEnum.java
src/main/java/com/laker/admin/module/enums/DemoEnum.java
+0
-24
src/main/java/com/laker/admin/module/enums/Distance.java
src/main/java/com/laker/admin/module/enums/Distance.java
+5
-3
src/main/java/com/laker/admin/module/ext/controller/DemoController.java
...com/laker/admin/module/ext/controller/DemoController.java
+9
-9
src/main/java/com/laker/admin/module/ext/vo/qo/City.java
src/main/java/com/laker/admin/module/ext/vo/qo/City.java
+12
-0
src/main/java/com/laker/admin/module/ext/vo/qo/DemoQo.java
src/main/java/com/laker/admin/module/ext/vo/qo/DemoQo.java
+0
-2
未找到文件。
src/main/java/com/laker/admin/framework/ext/mvc/IEnum
Convert
.java
→
src/main/java/com/laker/admin/framework/ext/mvc/IEnum.java
浏览文件 @
f5934210
package
com.laker.admin.framework.ext.mvc
;
/**
* @author: laker
* @date: 2022/11/25
**/
public
interface
IEnumConvert
{
String
getValue
();
import
java.io.Serializable
;
/**
* @author laker
*/
public
interface
IEnum
<
T
extends
Serializable
>
{
T
getValue
();
}
src/main/java/com/laker/admin/framework/ext/mvc/StringToEnumConvertFactory.java
浏览文件 @
f5934210
...
...
@@ -15,18 +15,18 @@ public class StringToEnumConvertFactory implements ConditionalGenericConverter {
@Override
public
boolean
matches
(
TypeDescriptor
sourceType
,
TypeDescriptor
targetType
)
{
return
IEnum
Convert
.
class
.
isAssignableFrom
(
targetType
.
getObjectType
())
&&
sourceType
.
getObjectType
()
==
String
.
class
;
return
IEnum
.
class
.
isAssignableFrom
(
targetType
.
getObjectType
())
&&
sourceType
.
getObjectType
()
==
String
.
class
;
}
@Override
public
Set
<
ConvertiblePair
>
getConvertibleTypes
()
{
return
null
;
// NOSONAR
return
null
;
}
@Override
public
Object
convert
(
Object
source
,
TypeDescriptor
sourceType
,
TypeDescriptor
targetType
)
{
IEnum
Convert
[]
enums
=
(
IEnumConvert
[])
targetType
.
getObjectType
().
getEnumConstants
();
for
(
IEnum
Convert
anEnum
:
enums
)
{
IEnum
[]
enums
=
(
IEnum
[])
targetType
.
getObjectType
().
getEnumConstants
();
for
(
IEnum
anEnum
:
enums
)
{
if
(
Objects
.
equals
(
anEnum
.
getValue
(),
source
))
{
return
anEnum
;
}
...
...
src/main/java/com/laker/admin/module/enums/DemoEnum.java
已删除
100644 → 0
浏览文件 @
9419c339
package
com.laker.admin.module.enums
;
import
com.fasterxml.jackson.annotation.JsonValue
;
import
com.laker.admin.framework.ext.mvc.IEnumConvert
;
import
lombok.Getter
;
@Getter
public
enum
DemoEnum
implements
IEnumConvert
{
START
(
1
,
"start"
),
STOP
(
0
,
"stop"
);
DemoEnum
(
int
code
,
String
descp
)
{
this
.
code
=
code
;
this
.
descp
=
descp
;
}
private
final
int
code
;
private
final
String
descp
;
@Override
@JsonValue
public
String
getValue
()
{
return
descp
;
}
}
src/main/java/com/laker/admin/module/enums/Distance.java
浏览文件 @
f5934210
package
com.laker.admin.module.enums
;
import
com.laker.admin.framework.ext.mvc.IEnumConvert
;
import
com.fasterxml.jackson.annotation.JsonValue
;
import
com.laker.admin.framework.ext.mvc.IEnum
;
public
enum
Distance
implements
IEnumConvert
{
public
enum
Distance
implements
IEnum
<
String
>
{
KILOMETER
(
"km"
,
1000
),
MILE
(
"miles"
,
1609.34
),
METER
(
"meters"
,
1
);
private
String
unit
;
private
final
double
meters
;
...
...
@@ -16,6 +17,7 @@ public enum Distance implements IEnumConvert {
}
@Override
@JsonValue
public
String
getValue
()
{
return
unit
;
}
...
...
src/main/java/com/laker/admin/module/ext/controller/DemoController.java
浏览文件 @
f5934210
package
com.laker.admin.module.ext.controller
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.laker.admin.module.enums.DemoEnum
;
import
com.laker.admin.module.enums.DemoTypeEnum
;
import
com.laker.admin.module.ext.vo.qo.DemoQo
;
import
com.laker.admin.module.enums.Distance
;
import
com.laker.admin.module.ext.vo.qo.City
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -36,21 +36,21 @@ public class DemoController {
@GetMapping
(
"/1"
)
@ApiOperation
(
value
=
"枚举 - querystring"
)
public
void
pageAll2
(
D
emoEnum
typ
e
)
{
log
.
info
(
typ
e
.
toString
());
public
void
pageAll2
(
D
istance
distanc
e
)
{
log
.
info
(
distanc
e
.
toString
());
}
@GetMapping
(
"/2"
)
@ApiOperation
(
value
=
"实体 - querystring"
)
public
void
pageAll3
(
DemoQo
type
)
{
log
.
info
(
type
.
toString
());
public
void
pageAll3
(
City
city
)
{
log
.
info
(
city
.
toString
());
}
@PostMapping
(
"/3"
)
@ApiOperation
(
value
=
"实体 - json"
)
public
DemoQo
pageAll4
(
@RequestBody
DemoQo
type
)
{
log
.
info
(
type
.
toString
());
return
type
;
public
City
pageAll4
(
@RequestBody
City
city
)
{
log
.
info
(
city
.
toString
());
return
city
;
}
}
\ No newline at end of file
src/main/java/com/laker/admin/module/ext/vo/qo/City.java
0 → 100644
浏览文件 @
f5934210
package
com.laker.admin.module.ext.vo.qo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.laker.admin.module.enums.Distance
;
import
lombok.Data
;
@Data
public
class
City
{
private
String
id
;
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
OBJECT
)
private
Distance
distance
;
}
src/main/java/com/laker/admin/module/ext/vo/qo/DemoQo.java
浏览文件 @
f5934210
package
com.laker.admin.module.ext.vo.qo
;
import
com.laker.admin.module.enums.DemoEnum
;
import
com.laker.admin.module.enums.Distance
;
import
lombok.Data
;
@Data
public
class
DemoQo
{
private
DemoEnum
demo
;
private
Distance
distance
;
private
String
city
;
private
Integer
value
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录