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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jax-rs jax-ws_快速浏览JAX-RS请求与方法匹配

發布時間:2023/12/3 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jax-rs jax-ws_快速浏览JAX-RS请求与方法匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jax-rs jax-ws

在本文中,我們來看一下JAX-RS中與資源方法匹配的HTTP請求 。 它是JAX-RS的最基本功能之一。 通常,使用JAX-RS API的開發人員不會接觸(或真正不需要知道) 匹配過程的細節,請放心,由于我們的RESTful,JAX-RS運行時會在后臺悄悄地推出其算法??蛻舳吮3帜切〩TTP請求的到來!

萬一術語請求資源方法匹配對您來說是陌生的–就是JAX-RS提供程序通過它向您的資源類之一(使用@Path裝飾)的特定方法分配HTTP請求的過程。 可以使用JAX-RS規范文檔來詳細解釋這一點( 不過,在本文中,我們將僅介紹冰山一角! )

主要標準

在請求匹配過程中要考慮哪些因素?

  • HTTP請求URI
  • HTTP請求方法(GET,PUT,POST,DELETE等)
  • HTTP請求的媒體類型
  • 請求的響應的媒體類型

高級步驟

粗略的圖表應該會有所幫助。 在此之前,這里是示例場景

  • 兩個資源類 – Books.java,Movies.java
  • Books.java中的資源方法路徑 – / books /,/ books / {id}(URI路徑參數),/ books?{isbn}(URI查詢參數)
  • HTTP請求URI – / books?isbn = xyz

誰會贏 ?

@Path("books") public class Books{@Produces("application/json")@GETpublic List<Book> findAll(){//find all books}@Produces("application/json")@GET@Path("{id}")public Book findById(@PathParam("id") String bookId){//find book by id e.g. /books/123}@Produces("application/json")@GETpublic Book findByISBN(@QueryParam("isbn") String bookISBN){//find book by ISBN e.g. /books?isbn=xyz} }@Path("movies") public class Books{@Produces("application/json")@GETpublic List<Movie> findAll(){//find all movies e.g. /movies/}@Produces("application/json")@GET@Path("{name}")public Movie findById(@PathParam("name") String name){//find movie by name e.g. /movies/SourceCode} }

JAX-RS請求方法匹配過程

分解正在發生的事情

  • 將可能匹配的候選對象縮小到一組資源類

這是通過將HTTP請求URI與資源類上@Path注釋的值進行匹配來完成的

  • 從上一步的資源類集中,找到一組可能匹配的候選方法(將算法應用于過濾后的資源類集)
  • 歸結為可以處理HTTP請求的確切方法

將HTTP請求謂詞與HTTP方法特定的注釋(@ GET,@ POST等)進行比較,將Content-Type標頭指定的請求媒體類型與@Consumes注釋中指定的媒體類型以及指定的響應媒體類型進行比較將Accept標頭中的“首選項”與@Produces批注中指定的媒體類型進行比較

我強烈建議您查看org.glassfish.jersey.server.internal.routing包中實現類的Jersey服務器端邏輯 ,以加深了解。 您可以查看的一些類/實現是

  • MatchResultInitializerRouter
  • SubResourceLocatorRouter
  • 方法選擇路由器
  • 路徑匹配路由器

是時候挖了……。?

祝您黑客愉快!

翻譯自: https://www.javacodegeeks.com/2015/03/quick-peek-at-jax-rs-request-to-method-matching.html

jax-rs jax-ws

總結

以上是生活随笔為你收集整理的jax-rs jax-ws_快速浏览JAX-RS请求与方法匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

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