日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA- Jersey使用示例

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。