欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

JAVA- Jersey使用示例

发布时间:2023/12/10 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JAVA- Jersey使用示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

0 概述

本文档主要讲述JAVA-Jersey的使用说明,并给出了示例。

1 前提条件

  • java安装并配置好相应的路径

  • 安装java的IDE Eclipse或者IDEA
    进入各自的官网安装即可:
    Eclipse: https://www.eclipse.org/
    IDEA: https://www.jetbrains.com/

  • 安装Postman (便于调试)
    进入官网 https://www.getpostman.com/,下载安装即可。

  • 2 Jersey的使用

    以下以eclipse为例

    2.1 创建maven项目

    File >> new >> project >> maven project

    在这里选择导入Jersey官网提供的快速构建包,如果没有该选项可以按如下操作:
    https://jersey.github.io/documentation/latest/getting-started.html
    选择Add Archetype…

    添加如下内容:

    然后填写Group id 和Artifact id即可完成maven工程的创建

    2.2 查看新建的工程项目

    创建好项目之后,我们就可以看到官方例子啦,主要有两个类Main.java 和MyResource.java,其中MyResource.java就是我们Restful资源,Main.java就是启动restful服务的类。打开工程中的pom.xml文件,并输入以下内容完成maven工程依赖的添加:

    2.3 运行示例

    运行Main.java后,在浏览器输入http://localhost:8080/myapp/myresource,可以看到如下输则表示简单例子运行成功。


    注意这里的8080为Jersey服务开放的接口,若被其他应用占用,则会报错,可以修改为未被占用的端口进行测试。

    2.4 Jersry其他方法调用

    @GET方式:提供资源的只读访问
    在MyResource.java,新建@GET方法

    @Path表示指定的访问路径
    @Produces 指定http请求的MIME类型数组类型默认是*/*,表示任意的MIME类型
    在Postman中输入 http://localhost:8080/myapp/myresource/test可看到如下返回内容:

    @QueryParam
    QueryParam查询URI里面?之后的参数进行解析

    在Postman中输入http://localhost:8080/myapp/myresource/chen,并指定对应的参数的值可看到如下返回内容:

    上图中的key和value分别代表参数的名称和值。
    @Path()中设置了传参的方式,若上例子中Path(“/{param1}/{param2}/{param3}”),则这时候的传参方式应该是http://localhost:8080/…/…/…/param1=value1/param2=value2/param3=…

    输入 http://localhost:8080/myapp/myresource/陈/18/男 可看到:

    @Pathparam(“value”)检索url中的value自动与参数匹配,此时使用@Queryparam参数就会出现错误,因为@Queryparam参数指定格式与@Pathparam参数不一样。
    @Fromparam参数以表单的形式,访问的URI被解析成form。
    @Headparam参数则是获取http请求头中的参数值。

    此时我们在Postman中访问:http://localhost:8080/myapp/myresource/head

    可以看到此时我们不需要在URL中输入参数都可以进行相应的访问。这里的@DefaultValue(“18”)为初始默认值设置,当没有指定参数时输入的默认值为“18”。

    @POST方式:用于更新现有资源或者创建一个新资源。

    例如重写上述/head访问方法,在该访问中新增加一个id参数。并把id设置为@pathparam参数,然后在Postman中输入http://localhost:8080/myapp/myresource/head/02访问:

    其他方式
    @PUT方式:用于创建一个新资源。(客户端需要提供改变后的完整资源)
    @PATCH(UPDATE):表示在服务器更新资源(客户端需要提供改变的属性【可以简单理解为补丁】)。
    @DELETE方式:用于移除一个资源。
    @OPTIONS方式:用于获取资源上支持的操作。
    @HEAD方式:只返HTTP header,不返回HTTP body。获得一个资源的元数据,比如一个资源的hash值或者最后修改日期。

    2.5 Jersey实现jar包的调用

    首先,把新建的项目导出为jar包。选中需要导出的项目,右击选择Export,如图:
    然后选择JAR file,设置导出的路径即可。我们需要用到其他jar包时,也可以在maven官方仓库中进行查找,下载并导入即可。
    Maven中央仓库地址为:
    https://mvnrepository.com/

    这时我们可以在我们刚刚新建的Jersey_test项目中导入外部jar包。选中Jersey_test项目,右击选择Build path,Configure build path…,如图:

    选择Add External JARs,选择jar包的路径,导入即可。导入后可以看到我们的jar包:

    下图分别是原来jar包中的内容,和新的@POST测试方法


    在Postman中运行即可看到如下测试结果:

    3 Jersey实现对FastDFS的调用

    在开始之前请先完成FastDFS集群环境的搭建,并实现可以使用JAVA调用,详情请看之前我的文章《搭建分布式FastDFS集群》、《FastDFS-JAVA-Client使用示例》。
    导出FastDFSTest的jar包,并导入到Jersy_test项目中。

    在MyResource中新建@POST方法

    这里的multipart/form-data,表示不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。这里我们的参数包含路径,因此要采用这样的传参方式。另外两种常见的传参方式为:
    application/x-www-form-urlencoded 在发送前编码所有字符(默认);text/plain 空格转换为 “+” 加号,但不对特殊字符编码。file_path和file_type分别代表文件上传的路径和文件类型。
    在Postman中运行如图:

    此时进入已经搭建好的FastDFS集群中的Storageserver中,可以看到我们通过POST方式上传的文件已经上传成功了。

    在浏览器中输入:
    storageseverip/group1/M00/00/00/rBAPQV0lXOiAdHNHAABwDWWmycs944.jpg即可看到刚刚通过POST方式上传的文件。

    同时也可以实现文件的下载、删除等功能。
    实现文件的下载

    此时在Postman中执行

    进入D盘下的temp文件夹中即可发现该图片已成功下载

    实现文件的删除

    此时完成了该文件的删除,进入storagesever查看,该文件确实已被删除

    总结

    以上是生活随笔为你收集整理的JAVA- Jersey使用示例的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。