- @Path("/library")
- public class Library {
-
- @GET
- @Path("/books")
- public String getBooks() {...}
-
- @GET
- @Path("/book/{isbn}")
- public String getBook(@PathParam("isbn") String id) {
-
- }
-
- @PUT
- @Path("/book/{isbn}")
- public void addBook(@PathParam("isbn") String id, @QueryParam("name") String name) {...}
-
- @DELETE
- @Path("/book/{id}")
- public void removeBook(@PathParam("id") String id {...}
-
-
- }
如果你在RestEasy servlet 中已经配置过请求的根路径http://hostname.com/services 那么如下请求将会被Library所捕捉到
- GET http://myhost.com/services/library/books
- GET http://myhost.com/services/library/book/333
- PUT http://myhost.com/services/library/book/333
- DELETE http://myhost.com/services/library/book/333
类和资源方法的@Path(在包javax.ws.rs 中)声明都是必要的,声明的是一个相对路径,根路径,类所声明的路径,方法所声明的路径拼接在一起构成了访问某个resource的一个url。(也就是说,访问这个url,服务端就会自动触发该事件)
包javax.ws.rs 中可以有各种的http 请求方式的声明,例如@GET,@POST,@PUT,@DELETE,@HEAD.你可以把某一特定的请求方式放在public方法之上,你如果你在你的类上有@path的声明,那么在方法上的path声明并不是必须的,但前提是你能够通过不同的http请求来区分不同的方法,这样服务端才能明白你所请求的是那一个资源(方法)。
如果一个方法是只有@Path的声明,而没有http请求方式的声明,那么该方法被称为JAXRSResourceLocators(我觉得作者表达的意思是如果有@Path的声明的方法叫做JAXRSResourceLocators)
4.1 @Path 和正则表达式的映射
@Path的声明并不是仅仅简单的路径表达式。你可以插入正则表达式。例如
- @Path("/resources)
- public class MyResource {
-
- @GET
- @Path("{var:.*}/stuff")
- public String get() {...}
- }
下边的get请求将会对应被引导至getResource()方法上
GET /resources/stuff
GET/resources/foo/stuff
GET/resources/on/and/on/stuff
表达式的规则是
"{"variable-name [ ":"regular-expression ] "}"
正则表达式部分(regular-expression)是可选的,如果没有提供该规则式,那么他默认进行匹配,用正则式来形容就是
"([]*)"
例如
@Path("/resources/{var}/stuff")
将会会和如下的路径匹配
GET/resources/foo/stuff
GET/resources/bar/stuff
但是,和该路径是不匹配的
GET/resources/a/bunch/of/stuff
(其实,也就是指明的正则表达式说明了该部分的路径应该符合什么样的规则。如果是默认的化,当然,你可以大致了解一下正则表达式)
分享到:
相关推荐
用java实现带参数发送post请求,以body方式传参的get请求,以pathValue方式传参的get请求
本文实例讲述了nodejs使用http模块发送get与post请求的方法。分享给大家供大家参考,具体如下: GET请求 var http = require('http'); var querystring = require('querystring'); var data = { a: 123, time: ...
* *描 述:实现HTTP协议中的GET、POST请求 * *使 用:HttpProc.WebClient client = new HttpProc.WebClient(); client.Encoding = System.Text.Encoding.Default;//默认编码方式,根据需要设置其他类型 client....
JQHttpRequest:目前二次封装网络库支持四种请求:GET、POST、PUT、DELETE较常见的请求,HEAD/PATH/COPY/OPTIONS/LINK/LOCK等不常用的后续会根据需求调整,本库支持数据缓存、缓存超时设置、请求超时设置等;...
本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$post =1; $url = parse_url($url); $host =’//www.jb51.net’; $path ...
public static void downLoadImage(String url, String path) public static String doPost(String apiUrl, Map, Object> params) public static String doPost(String apiUrl,String json) public static String ...
欢迎使用GetPost v1.0!什么? 这是? GetPost是一个和 -一种共享文本和照片的工具。 它被设计为简单,安全且易于理解-作为功能更强大(和更复杂)的工具的起点。 您现在可以在或通过运行以下命令进行尝试: curl -...
JSP之表单提交get和post的详解及实例 一 get和post的区别 二 实战(post方式提交) 1、login.jsp <%@ page language=java import=java.util.* contentType=text/html; charset=utf-8 %> <% ...
一个简单的实用程序,使您可以使用单个java方法为Jersey创建GET和POST操作方法。 注释用法示例 @RestClass(path = "/wsdl") public class TestService { @RestMethod(path = "/helloGest") public static String ...
通过使用@Get , @Post , @Put , @Delete , @All等装饰方法来定义端点。可以通过@Route(, <path>)使用更晦涩的http方法。 使用@Middleware定义类或方法级别的中间件 (可选)使用@Wrapper包装方法-非常适合处理...
通过页面的路径获取页面信息【使用】 【参数】 $page_path (string) (必须) 页面路径 Default: None $output (string) (可选) 输出类型. OBJECT, ARRAY_N, or ARRAY_A. Default: OBJECT $post_type (string) (可选...
@GET注解是请求方法指示符,这个指示符注解的Java方法会处理HTTPGET请求。资源的行为由资源回应的HTTP方法决定。 @POST注解是请求方法指示符,这个指示符注解的Java方法会处理HTTPPOST请求。资源的行为由资源回应的...
讲解五种注解的形式包含@Get,@Post,@Path,@Query ,@QueryMap的实例,帮助更好的理解应用。详细博客讲解https://blog.csdn.net/lou_liang/article/details/84069006
Path定义的返回的内容用@Produces定义@Produces可以采用多种类型的数组HTTP [PUT]请求早期,某些浏览器不支持PUT(或DELETE) REST常常变得简单开发人员使用POST进行创建和更新理论上,PUT可以同时用于两种功能PUT是...
import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; <!-- <param-name>resteasy.scan...
retrofitdemo 通过自定义CallAdapter、Call、CallBack实现请求前、请求结束的接口回调,主要目的是实现请求前打开请求等待对话框,请求结束关闭对话框。... Hcall<User> postUserName(@Path("name") St
@GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型 @Produces,标注返回的MIME媒体类型 @Consumes,标注可接受请求的MIME媒体类型 @PathParam,@QueryParam,@HeaderParam,@CookieParam,@MatrixParam...
@ POST,@ PUT,@ GET,@ DELETE,@ OPTION和@HEAD @语境 VestApplication形式的应用程序实现。 @PathParam @HeaderParam @QueryParam @默认值 JsonObject作为处理程序中的参数 @Consums(Alpha) @Produces...
$cookiepath = getcwd().’./’.$cookiejar; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[‘HTTP_USER_AGENT’]); if($referer) { curl_setopt
@RequestMapping(value = "/${path}",method = RequestMethod.GET) Map,Object> sendBaiduGet(@PathVariable(value = "path") String path, @RequestParam(value = "param") String param,@RequestParam(value = ...