欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jax-rs规范REST接口文件上传代码实例

程序员文章站 2022-04-21 10:58:09
使用jax-rs规范,需要引入spring-boot-starter-jersey包,用于支撑@path,@get等jax-rs注解,使用jax-rs规范上传文件,需要引入jersey-media-m...

使用jax-rs规范,需要引入spring-boot-starter-jersey包,用于支撑@path,@get等jax-rs注解,使用jax-rs规范上传文件,需要引入jersey-media-multipart包,用于支撑@formdataparam,formdatacontentdisposition

<dependency>
  <groupid>org.glassfish.jersey.media</groupid>
  <artifactid>jersey-media-multipart</artifactid>
</dependency>
<dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-jersey</artifactid>
</dependency>

然后需要将接收外部请求的controller类注册到resourceconfig, 将处理上传文件的multipartfeature类注册到resourceconfig

@configuration
public class myjaxrsconfig extends resourceconfig {
  public myjaxrsconfig() {
    super.register(userservice.class);
    register(multipartfeature.class);
  }
}

上传文件时需要注意的地方:

1.指定接口的消费数据类型为multipart/form-data

2.文件的接收分为2部分: 一部分是描述数据,一部分是输入流数据,

描述数据用formdatacontentdisposition对象接收,流数据用inputstream对象接收.通过类似于@pathparam绑定注解的@formdataparam分别将文件数据的两部分数据绑定到对应的变量上.

@path("/upload")
@post
@consumes(mediatype.multipart_form_data_value)
void upload(@formdataparam("file") inputstream inputstream, @formdataparam("file") formdatacontentdisposition file);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。