Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-api-boot
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-api-boot
Commits
fc1405db
提交
fc1405db
authored
4月 27, 2022
作者:
方治民
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 新增文件下载示例、关键字查询 Param 类、端口变更
上级
0c712c1e
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
92 行增加
和
4 行删除
+92
-4
HelloController.java
app/src/main/java/com/yiring/app/web/HelloController.java
+12
-0
application.yml
app/src/main/resources/application.yml
+1
-1
cat.jpg
app/src/main/resources/static/cat.jpg
+0
-0
KeywordParam.java
...e/src/main/java/com/yiring/common/param/KeywordParam.java
+33
-0
MinioController.java
.../src/main/java/com/yiring/common/web/MinioController.java
+4
-2
build.gradle
basic-common/util/build.gradle
+3
-0
FileUtils.java
.../util/src/main/java/com/yiring/common/util/FileUtils.java
+38
-0
settings.gradle
settings.gradle
+1
-1
没有找到文件。
app/src/main/java/com/yiring/app/web/HelloController.java
浏览文件 @
fc1405db
...
...
@@ -7,14 +7,19 @@ import com.yiring.app.exception.CodeException;
import
com.yiring.app.mapper.TestTableMapper
;
import
com.yiring.common.core.Result
;
import
com.yiring.common.param.PageParam
;
import
com.yiring.common.util.FileUtils
;
import
com.yiring.common.vo.PageVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
java.io.IOException
;
import
java.util.Arrays
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -51,6 +56,13 @@ public class HelloController {
return
Result
.
ok
(
vo
);
}
@ApiOperation
(
value
=
"download"
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
@GetMapping
(
"download"
)
public
void
download
(
HttpServletResponse
response
)
throws
IOException
{
ClassPathResource
resource
=
new
ClassPathResource
(
"static/cat.jpg"
);
FileUtils
.
download
(
response
,
resource
.
getFile
());
}
@Resource
TestTableMapper
testTableMapper
;
...
...
app/src/main/resources/application.yml
浏览文件 @
fc1405db
server
:
port
:
8
1
81
port
:
8
0
81
servlet
:
context-path
:
/api
...
...
app/src/main/resources/static/cat.jpg
0 → 100644
浏览文件 @
fc1405db
217.6 KB
basic-common/core/src/main/java/com/yiring/common/param/KeywordParam.java
0 → 100644
浏览文件 @
fc1405db
/* (C) 2021 YiRing, Inc. */
package
com
.
yiring
.
common
.
param
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serial
;
import
java.io.Serializable
;
import
javax.validation.Valid
;
import
lombok.*
;
import
lombok.experimental.FieldDefaults
;
/**
* 公共的关键字查询参数类
*
* @author ifzm
* @version 0.1
* 2022/4/27 08:53
*/
@ApiModel
(
"KeywordParam"
)
@Valid
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults
(
level
=
AccessLevel
.
PRIVATE
)
public
class
KeywordParam
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
-
8690942241103456894L
;
@ApiModelProperty
(
value
=
"关键字"
,
example
=
"hi"
)
String
keyword
;
}
basic-common/minio/src/main/java/com/yiring/common/web/MinioController.java
浏览文件 @
fc1405db
...
...
@@ -14,6 +14,8 @@ import java.time.LocalDateTime;
import
java.time.format.DateTimeFormatter
;
import
javax.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -38,8 +40,8 @@ public class MinioController {
/**
* minio 上传文件,成功返回文件 url
*/
@ApiOperation
(
value
=
"文件上传"
)
@PostMapping
(
value
=
"upload"
,
headers
=
"Content-Type=Multipart/Form-Data"
)
@ApiOperation
(
value
=
"文件上传"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"upload"
,
headers
=
HttpHeaders
.
CONTENT_TYPE
+
"="
+
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
public
Result
<
String
>
upload
(
@ApiParam
(
value
=
"文件"
,
required
=
true
)
@RequestPart
(
"file"
)
MultipartFile
file
)
{
try
{
Snowflake
snowflake
=
IdUtil
.
getSnowflake
(
1
,
1
);
...
...
basic-common/util/build.gradle
浏览文件 @
fc1405db
dependencies
{
implementation
'org.springframework.boot:spring-boot-starter-web'
// hutool
implementation
"cn.hutool:hutool-core:${hutoolVersion}"
}
basic-common/util/src/main/java/com/yiring/common/util/FileUtils.java
0 → 100644
浏览文件 @
fc1405db
/* (C) 2022 YiRing, Inc. */
package
com
.
yiring
.
common
.
util
;
import
cn.hutool.core.io.file.FileReader
;
import
java.io.File
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
javax.servlet.http.HttpServletResponse
;
import
lombok.experimental.UtilityClass
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
/**
* 文件工具类
*
* @author Jim
* @version 0.1
* 2022/4/22 13:54
*/
@UtilityClass
public
class
FileUtils
{
/**
* 文件下载
* @param response HttpServletResponse
* @param file File
* @throws IOException IOException
*/
public
void
download
(
HttpServletResponse
response
,
File
file
)
throws
IOException
{
String
filename
=
URLEncoder
.
encode
(
file
.
getName
(),
StandardCharsets
.
UTF_8
);
response
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
response
.
setHeader
(
HttpHeaders
.
CONTENT_LENGTH
,
String
.
valueOf
(
file
.
length
()));
response
.
setHeader
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment;filename="
+
filename
);
FileReader
.
create
(
file
).
writeToStream
(
response
.
getOutputStream
(),
true
);
}
}
settings.gradle
浏览文件 @
fc1405db
...
...
@@ -4,7 +4,7 @@ pluginManagement {
gradlePluginPortal
()
}
}
rootProject
.
name
=
'basic'
rootProject
.
name
=
'basic
-api
'
include
'app'
include
'basic-auth'
include
'basic-common:core'
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论