com.houkunlin.system.common.aop.DownloadWord Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of system-common-aop-starter Show documentation
Show all versions of system-common-aop-starter Show documentation
常用的 AOP 注解功能。
Commonly used AOP annotation features.
The newest version!
package com.houkunlin.system.common.aop;
import org.springframework.http.MediaType;
import java.lang.annotation.*;
/**
* Word 模板渲染导出下载
*
* @author HouKunLin
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DownloadWord {
/**
* 下载的文件名。
* 文件名不包含后缀名时将使用 {@link #withTemplate()} 的后缀名,假如 {@link #filename()} 和 {@link #withTemplate()}都没有后缀名时则默认 .doc 后缀名
*
可自行实现 {@link TemplateParser} 接口来解析字符串模板,默认提供 {@link TemplateParserDefaultImpl} 来支持 SpEL 模板表达式解析
*/
String filename();
/**
* 下载文件的文件内容类型
*/
String contentType() default "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
/**
* 模板文件。
* 支持写法格式:
*
* - 默认实现:classpath:template.xlsx
* - 需自行实现:file:template.xlsx
* - 需自行实现:oss:template.xlsx
*
* 具体支持的写法格式请参考 {@link DownloadPoiHandler} 实现细节
*/
String withTemplate();
}