參照:html
http://blog.csdn.net/a19881029/article/details/43056429java
官網文檔翻譯版正則表達式
@Pathide
用來爲資源類或方法定義URI,固然除了靜態URI也支持動態URIui
@Path("service") public class MyResource { @Path("{sub_path}") @GET public String getResource(@PathParam("sub_path") String resourceName) { ......
若是此時客戶端請求的URI爲http://127.0.0.1:10000/service/sean,則sub_path的值爲seanspa
@PathParam用來將請求URI的一部分做爲方法參數傳入方法中.net
對URI的動態部分,能夠自定義校驗正則表達式,若是請求參數校驗失敗,容器返回404 Not Found翻譯
@Path("{sub_path:[A-Z]*}")
@GETcode
代表被註解的方法響應HTTP GET請求,@POST、@PUT和@DELETE同理htm
@Consumes
定義請求的媒體類型,若是不指定,則容器默承認接受任意媒體類型,容器負責確認被調用的方法可接受HTTP請求的媒體類型,不然返回415 Unsupported Media Type
方法級註解將覆蓋類級註解
@Produces
定義響應媒體類型,若是不指定,則容器默承認接受任意媒體類型,容器負責確認被調用的方法可返回HTTP請求能夠接受媒體類型,不然返回406 Not Acceptable
方法級註解將覆蓋類級註解
@QueryParam
public String getResource( @DefaultValue("Just a test!") @QueryParam("desc") String description) { ...... }
若是請求URI中包含desc參數,例如:http://127.0.0.1:10000/service/sean?desc=123456,則desc參數的值將會賦給方法的參數description,不然方法參數description的值將爲@DefaultValue註解定義的默認值
@Context
將信息注入請求或響應相關的類,可注入的類有:Application,UriInfo,Request,HttpHeaders和SecurityContext
@Singleton和@PerRequest
默認狀況下,資源類的生命週期是per-request,也就是系統會爲每一個匹配資源類URI的請求建立一個實例,這樣的效率很低,能夠對資源類使用@Singleton註解,這樣在應用範圍內,只會建立資源類的一個實例