资讯专栏INFORMATION COLUMN

jersey 框架传输格式 (1) 基础类型

liangzai_cool / 918人阅读

摘要:在学习中看到框架支持几乎多有的原生类型的传输格式。是遵循规范的一个实现,旨在使用提供服务的框架原生类型中整型数值浮点型数值编码字符型数值布尔类型值都提供支持,并且提供了,基础类型的数组形式的支持。

在学习jersey中看到jersey框架支持几乎多有的java原生类型的传输格式。

我学习 《Java RESTful Web Service 实战》 一书。书中有些知识点,不太常用,但是比较重要,特写下次笔记已备忘。

jersey是遵循 JAX-RS2.0规范的一个实现,旨在使用java提供RESTful服务的框架

java 原生类型中
整型数值 byte, short int, long
浮点型数值 float, double
Unicode编码字符型数值 char
布尔类型值 boolean

jersey 都提供支持,并且提供了,基础类型的数组形式的支持。

比如 byte[], char[]

也提供了 File 类型,InputStream, Reader 这样的字节流和字符流类型。

以下代码基本演示输入类型的使用方法

java// File
@POST
@Consumes(MediaType.TEXT_PLAIN)
public String upFile(final File file) throws IOException {
    try (
        FileInputStream fInput = new FileInputStream(file);
        FileOutputStream fOutput = new FileOutputStream(new File("temp.txt"))
       ) {

        byte buffer = new byte[2048];
        int count = 0;
        while ( (count = fInput.read(buffer) ) != -1 ) {
            fOutput.write(buffer, 0, count); //将 buffer 字节数组中的内容全部写入到 fOutput 中。
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    return "file upload complete";
}
java// InputStream

@POST
@Consumes(MediaType.TEXT_PLAIN)
public String postString(final InputStream input) throws IOException {

    ByteArrayOutputStream outputBuf = new ByteArrayOutputStream();

    byte[] buffer = new byte[1024];
    int count = 0;

    while ( ( count = input.read(buffer) ) != -1 ) {
        outputBuf.write(buffer, 0, count);
    }

    outputBuf.flush();

    return new String(outputBuf.toByteArray(), "utf-8");
}

可以看出 jersey 能支持各种类型,是应为 java 反射机制的功劳。

以上文字片段以及图片,部分来自于 《Java RESTful Web Service 实战》一书。如有版权侵犯,请联系邮箱[ychangsheng@gmail.com]。本人及时修改。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64235.html

相关文章

  • jersey 框架传输格式 (2) xml

    摘要:作为日常开发中一种常用的传输格式。对应的,定义了三种标准类型的输入接口和输出接口,。实体类如果请求的传输数据量很大,并且无需和外系统对接的场景,建议使用属性来组织,这样可以极大的减小格式的数据包的规模。如有版权侵犯,请联系邮箱。 XML作为日常开发中一种常用的传输格式。jersey 也做了很优秀的支持。 我学习 《Java RESTful Web Service 实战》 一书。书中有...

    betacat 评论0 收藏0
  • jersey 框架传输格式 (2) xml

    摘要:作为日常开发中一种常用的传输格式。对应的,定义了三种标准类型的输入接口和输出接口,。实体类如果请求的传输数据量很大,并且无需和外系统对接的场景,建议使用属性来组织,这样可以极大的减小格式的数据包的规模。如有版权侵犯,请联系邮箱。 XML作为日常开发中一种常用的传输格式。jersey 也做了很优秀的支持。 我学习 《Java RESTful Web Service 实战》 一书。书中有...

    The question 评论0 收藏0
  • 国外程序员整理的Java资源大全

    摘要:日期和时间处理日期和时间的函数库。使用中可观察序列,创建异步基于事件应用程序的函数库。为分布式系统提供延迟和容错处理。发布使用本机格式分发应用程序的工具。将程序资源和打包成和的本机文件。图像处理用来帮助创建评估或操作图形的函数库。 好资源要分享原文 译者 唐尤华 翻译自 github akullpp 构建 这里搜集了用来构建应用程序的工具。 Apache Maven:Mave...

    chengtao1633 评论0 收藏0
  • JAX-RS 2.0 中 REST 的四种服务类型

    摘要:当不存在子类,也不存在子类时,规范中定义,在这种情况下,为服务动态生成一个名为的实例,并自动探测匹配资源。其中是中的基类,它继承于情况二当不存在子类,但是存在子类时。以上就是规范中定义的四种服务的方式。 最近在学习 jersey 框架。他是 目前比较流行的 基于 JAX-RS 2.0 规范实现的 RESTful 框架。 我是跟着 《Java RESTful Web Service 实...

    bbbbbb 评论0 收藏0
  • SpringBoot整合Jersey2.x实现文件上传API

    摘要:的官方文档中将调用的入口称作,而在的示例代码中将其命名为,其实指的是同一个东西。其次是类至此,一个文件上传的服务端接口已经编写完成。 前言 SpringBoot的官方文档中关于Jersey的介绍并不是很全面: 27.3 JAX-RS and Jersey,SpringBoot-Sample项目里面也只有非常基础的代码,对于一些复杂的常用需求,这个文档给不了任何帮助。 为了使用Jerse...

    andot 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<