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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

@Path注解

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 @Path注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近用到的一個項目,看到Controller控制層、Method方法都是通篇的@Path注解,由于之前并沒有使用過該注解,故記此篇。

首先看一下項目中的使用方式:

@Path("clientWeb")
public?class?ClientWeb?{

????@POST
????@Path("/getData")
????public?String?getData(@QueryParam("start")?Integer?start,@QueryParam("limit")?Integer?limit)?{
????????return?"xxx"
????}
}

如上我們可以看到,@Path注解可以標記在類名之上,也可以標記在方法名上。該注解接收一個value參數,表示定義資源的地址。

另外,資源地址相同,但是HTTP方法不同的兩個方法是完全兩個不同的REST接口,HTTP方法和資源地址相結合在一起才可以完成對一個資源的定位。

點進@Path注解后查看其源碼如下:

package?javax.ws.rs;
import?java.lang.annotation.ElementType;
import?java.lang.annotation.Retention;
import?java.lang.annotation.RetentionPolicy;
import?java.lang.annotation.Target;
@Target({ElementType.TYPE,?ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public?@interface?Path?{
????String?value();
}

我們可以發現其屬于 javax.ws.rs 包,java.ws.rsjax-rs 規范中定義的包名,什么鬼?

jax-rs 全稱是:java API for RESTful Services,這是一套規范,規范文檔。

簡單點說就是這套規范是為構建restful服務的 [restful可以理解為web接口],我們知道Spring自帶了對restful的支持,但是呢,Spring并沒有遵循這個協議,言外之意就是不具有移植特性,怎么講?

舉例:JPA大家應該了解吧,采用JPA開發規范的話,很容易實現MysqlOracle等數據庫的遷移,因為符合規范。

盡管Spring并不遵循這個協議,但還是Spring好用。

再回到jax-rs,目前能夠實現jax-rs標準的框架有很多,比如:

  • Apache CXF,開源的Web服務框架。
  • Jersey, 由Sun提供的JAX-RS的參考實現。
  • RESTEasy,JBoss的實現。
  • Restlet,由Jerome Louvel和Dave Pawson開發,是最早的REST框架,先于JAX-RS出現。
  • Apache Wink,一個Apache軟件基金會孵化器中的項目,其服務模塊實現JAX-RS規范。

說這么多,其實是想get一點,就是在當下都用Spring的環境下,還是有許多可以實現web服務的,重新再來看@Path吧。

@Path就當@RequestMapping來用,如下所例。

@Path("/clientWeb")
public?class??ClientWeb{????
????@GET????
????@Path("/getData")
????public?String?getData(String?params)?{
????????return?“xxx";
????}
}

訪問路徑為:http://:/<應用域>/clientWeb/getData

參考:https://segmentfault.com/q/1010000002484009/a-1020000002484552


我創建了一個用來記錄自己學習之路的公眾號,感興趣的小伙伴可以關注一下微信公眾號:niceyoo

總結

以上是生活随笔為你收集整理的@Path注解的全部內容,希望文章能夠幫你解決所遇到的問題。

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