Class AttachmentHttpEndpoint

java.lang.Object
io.github.xezzon.zeroweb.attachment.internal.AttachmentHttpEndpoint

@RestController @RequestMapping("/attachment") public class AttachmentHttpEndpoint extends Object
附件管理
Author:
xezzon
  • Constructor Details

    • AttachmentHttpEndpoint

      public AttachmentHttpEndpoint(AttachmentService attachmentService)
      依赖注入
      Parameters:
      attachmentService - 附件服务
  • Method Details

    • addAttachment

      @PostMapping public UploadInfo addAttachment(@RequestBody @Valid @Valid AddAttachmentReq req, @RequestParam(required=false) String crc)
      新增附件
      Parameters:
      req - 文件信息
      crc - 文件的 CRC 值。虽然只有 S3 服务需要,但是建议调用接口时必传。
      Returns:
      文件上传元数据
    • getUploadInfo

      @GetMapping("/{id}/resume") public UploadInfo getUploadInfo(@PathVariable @NotBlank @NotBlank String id, @RequestParam @NotBlank @NotBlank String checksum, @RequestParam @Positive @Positive long fileSize, @RequestParam(required=false) String crc)
      获取附件上传元信息
      Parameters:
      id - 附件ID
      checksum - 附件的内容摘要。与 fileSize 联合校验续传内容与之前的内容一致。
      fileSize - 附件的大小。
      crc - 文件的 CRC 值。虽然只有 S3 服务需要,但是建议调用接口时必传。
      Returns:
      上传元信息
    • getUploadEndpoint

      @GetMapping("/{id}/endpoint/upload") public UploadEndpoint getUploadEndpoint(@PathVariable @NotBlank @NotBlank String id, @PositiveOrZero @Max(10000L) @RequestParam(required=false,defaultValue="0") @PositiveOrZero @Max(10000L) int partNumber, @RequestParam(required=false) String crc)
      获取附件上传地址
      Parameters:
      id - 附件ID
      partNumber - 分段序号
      crc - 文件的 CRC 值。虽然只有 S3 服务需要,但是建议调用接口时必传。
      Returns:
      附件上传地址
    • finishUpload

      @PutMapping("/{id}/status/done") public void finishUpload(@PathVariable @NotBlank @NotBlank String id)
      文件上传完成后,将其状态变更为已完成
      Parameters:
      id - 附件ID
    • queryByBiz

      @GetMapping("/list") public List<Attachment> queryByBiz(@RequestParam @NotBlank @NotBlank String bizType, @RequestParam @NotBlank @NotBlank String bizId)
      查询表单关联的附件
      Parameters:
      bizType - 业务类型
      bizId - 业务ID
      Returns:
      附件信息集合(不包含下载地址)
    • getDownloadEndpoint

      @GetMapping("/{id}/endpoint/download") public DownloadEndpoint getDownloadEndpoint(@PathVariable @NotBlank @NotBlank String id)
      获取附件下载地址
      Parameters:
      id - 附件ID
      Returns:
      附件下载地址
    • deleteAttachment

      @DeleteMapping("/{id}") public void deleteAttachment(@PathVariable @NotBlank @NotBlank String id)
      删除附件
      Parameters:
      id - 附件ID