波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了在JAX-RS中轉義查詢參數中的`%‘符號的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我嘗試使用Jersey或RESTEasy中的任何一個發送GET請求,并將某個URL字符串作為參數

Response response = new ResteasyClientBuilder()
        .build()
        .target(UriBuilder.fromPath("https://foo.bar"))
        .queryParam("url", "http://hostname.com/The%20URL%20with spaces.jpg")
        .request()
        .get();

兩種實現都發送
https://foo.bar?url=http%3A%2F%2Fhostname.com%2FThe%20URL%20with%20spaces.jpg

我假設在查詢參數中使用%20對原始空格進行轉義,并對原始%20進行雙重轉義。
但事實并非如此。
原始空格和%20混合在一起,在服務器端,我得到未轉義的字符串,所有%20都轉換為空格,字符串被打斷。

根據source code of Resteasy,它”保持編碼值”%…”和模板參數不變”。但我在JEE文檔中沒有找到任何關于這種行為的詞。

是否應在將字符串添加為參數之前對其進行轉義?
我應該使用什么轉義程序來確保它轉義了"%..." and template parameters的所有內容,并且它在參數中轉義的所有內容都被服務器成功地取消轉義?

JAX

標準推薦答案-RSWebTarget的解決方案是不直接應用參數,而是將它們作為模板參數應用。

Response response = new ResteasyClientBuilder()
        .build()
        .target(UriBuilder.fromPath("https://foo.bar"))
        .queryParam("url", "{urlTemplate}")
        .resolveTemplate("urlTemplate", "http://hostname.com/The%20URL%20with spaces.jpg")
        .request()
        .get();

首先,我們添加一些模板{urlTemplate}作為參數值,然后用真實值呈現該模板。
WebTarget始終假定給定參數為可能的模板,并且不轉義某些字符
.resolveTemplate()保證對應轉義的所有字符進行轉義

這篇關于在JAX-RS中轉義查詢參數中的`%‘符號的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JAX RS 參數 查詢 符號 轉義
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定