<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    神奇好望角 The Magical Cape of Good Hope

    庸人不必自擾,智者何需千慮?
    posts - 26, comments - 50, trackbacks - 0, articles - 11
      BlogJava :: 首頁(yè) ::  :: 聯(lián)系 :: 聚合  :: 管理

    前面介紹了各種請(qǐng)求參數(shù)的注入,這些參數(shù)在 HTTP 請(qǐng)求中都是以純文本的方式存在的。在處理參數(shù)的時(shí)候,往往需要把這些文本參數(shù)轉(zhuǎn)換為 Java 對(duì)象。JAX-RS 提供了一些內(nèi)置的規(guī)則里自動(dòng)完成這種轉(zhuǎn)換。

    轉(zhuǎn)換規(guī)則一覽

    JAX-RS 提供了四條自動(dòng)類型轉(zhuǎn)換規(guī)則,下面我們逐條考察。

    原始類型

    這個(gè)早就見(jiàn)識(shí)過(guò)了,無(wú)需多說(shuō)。舉例回顧一下:

    @GET
    @Path("{id}")
    public Movie getXxx(@PathParam("id") int id) {/*...*/}
        

    提供接受單個(gè) String 參數(shù)的構(gòu)造器的類型

    這個(gè)也不難理解,JAX-RS 會(huì)自動(dòng)調(diào)用該構(gòu)造器創(chuàng)建一個(gè)對(duì)象:

    public class Style {
        public Style(String name) {/* ... */}
        // ...
    }
    
    @GET
    @Path("{name}")
    public Movie getXxx(@PathParam("name") Style style) {
        // JAX-RS 已自動(dòng)調(diào)用 xxx = new Style(name)
        // ...
    }
        

    提供靜態(tài)工廠方法 valueOf(String) 的類型

    也好理解。特別需要注意的是,所有的枚舉類型都在此列,因?yàn)榫幾g器會(huì)自動(dòng)給枚舉類型加上一個(gè)這樣的工廠方法。例如:

    public enum Style {/*...*/}
    
    @GET
    @Path("{name}")
    public Movie getXxx(@PathParam("name") Style style) {
        // JAX-RS 已自動(dòng)調(diào)用 style = Style.valueOf(name)
        // ...
    }
        

    類型參數(shù)滿足前兩個(gè)條件的 List<T>Set<T>SortedSet<T>

    這條規(guī)則適用于多值參數(shù),例如查詢參數(shù):

    @GET
    @Path("xxx")
    public Movie getXxx(@QueryParam("style") Set<Style> styles) {
        // JAX-RS 已自動(dòng)轉(zhuǎn)換每個(gè) Style 對(duì)象并組裝到 Set 中
        // ...
    }
        

    轉(zhuǎn)換失敗的處理

    如果轉(zhuǎn)換失敗,JAX-RS 會(huì)根據(jù)情況自動(dòng)拋出一個(gè)包裝了初始異常,但是帶不同 HTTP 錯(cuò)誤碼的 WebApplicationException:對(duì)矩陣參數(shù)(@MatrixParam)、查詢參數(shù) (@QueryParam)或路徑參數(shù)(@PathParam)來(lái)說(shuō)為 HTTP 404 找不到,而對(duì)頭部參數(shù)(@HeaderParam)或 Cookie 參數(shù)(@CookieParam)為 HTTP 400 錯(cuò)誤請(qǐng)求


    評(píng)論

    # re: JAX-RS 從傻逼到牛叉 7:注入?yún)?shù)的自動(dòng)類型轉(zhuǎn)換  回復(fù)  更多評(píng)論   

    2012-01-13 14:00 by danyili
    請(qǐng)教一下博主,怎么在jax-rs上加上安全認(rèn)證?

    # re: JAX-RS 從傻逼到牛叉 7:注入?yún)?shù)的自動(dòng)類型轉(zhuǎn)換  回復(fù)  更多評(píng)論   

    2012-01-13 15:45 by 蜀山兆孨龘
    @danyili

    JAX-RS 可以和容器管理的安全認(rèn)證無(wú)縫集成,只需要編輯 web.xml 的相關(guān)配置,例如 security-constraint,然后在 JAX-RS 類中用 @RolesAllowed 指定允許訪問(wèn)的角色就可以了。HTTPS 也是完全支持的。

    建議你先了解下 Java EE 安全方面的功能。
    主站蜘蛛池模板: 羞羞视频在线免费观看| 亚洲午夜电影一区二区三区| 亚洲中文无码亚洲人成影院| 国产精品视频免费观看| 中文字幕亚洲色图| 97免费人妻在线视频| 亚洲网站在线播放| 五月婷婷综合免费| 亚洲欧美日韩国产成人| 真实乱视频国产免费观看| 亚洲国产aⅴ成人精品无吗| 国产一级淫片免费播放| 色吊丝性永久免费看码| 伊人久久精品亚洲午夜| 中文字幕视频在线免费观看| 久久久久亚洲AV成人无码网站| 久久综合给合久久国产免费| 亚洲国产美女精品久久| 国产成人免费手机在线观看视频 | 免费观看又污又黄在线观看| 亚洲黄片手机免费观看| a级毛片高清免费视频就| 91亚洲导航深夜福利| 免费电影在线观看网站| 美美女高清毛片视频黄的一免费| 一本色道久久88亚洲综合| 国产在线观a免费观看| 亚洲黄色免费网址| 在线观看亚洲免费| 一个人看的www免费视频在线观看| 久久久久亚洲精品天堂| 免费无码又爽又刺激高潮| 国产免费人成视频在线播放播| 亚洲综合国产精品| 免费大黄网站在线观看| 男的把j放进女人下面视频免费| 亚洲国产美女精品久久久久| 亚洲国产精品自产在线播放| 可以免费观看的毛片| 亚洲午夜无码毛片av久久京东热| 亚洲国产综合精品一区在线播放|