Jersey搭建restFul形式接口
1、依赖
<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
2、web.xml
<servlet>
<servlet-name>servletContainer</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.strive.controller</param-value> <!--扫描该包下的接口-->
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servletContainer</servlet-name>
<url-pattern>/rest/*</url-pattern> <!--配置扫描的包所对应的路径-->
</servlet-mapping>
3、接口编写
package com.strive.controller;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
/**
* 作者:程序猿-南巷清风
* 博客地址:https://blog.csdn.net/weixin_42152604(关注一下下^_^)
* QQ:1821119445 java开发的朋友们可以加(非诚勿扰好吧!)
*/
@Path("testRestFul")
public class RestFulInterface {
@GET
@Path("getPage1")
public String getPage1(@Context HttpServletRequest request, @QueryParam("name") String name,@QueryParam("age") Integer age) {
//@QueryParam的参数接收于:http://12313:8080/rest/testRestFul/getPage1?name=测试&age=18 这种问号后面带的get类型的参数
//@Context的作用是解析一些上下文的参数,比如request和response这种
System.out.println("这是一个get方法!");
System.out.println(name+"======"+age);
return "进入了getPage1方法";
}
@GET
@Path("getPage2/{name}")
public String getPage2(@PathParam("name") String name,@DefaultValue ("26") @QueryParam("age") Integer age) {
//@PathParam的参数接收,必须是@Path中定义的位置,由此可见Post方式也适用
System.out.println("这是一个get方法!");
System.out.println(name+"======="+age);
return "进入了getPage2方法";
}
@POST
@Path("getPage3")
@Produces("application/json") //设置返回格式为json
@Consumes("application/x-www-form-urlencoded") //指定client发过来的数据是表单形式的才能访问
public String getPage3(@FormParam("name") String name) {
//@FormParam的参数接收的是POST表单类型的数据
System.out.println("这是一个post方法!");
System.out.println(name);
return "{'return':'进入了getPage3方法'}";
}
}
4、总结
@QueryParam的参数接收于:http://12313:8080/rest/testRestFul/getPage1?name=测试&age=18 这种问号后面带的get类型的参数@PathParam的参数接收,必须是@Path中定义的位置,由此可见Post方式也适用
@FormParam的参数接收的是POST表单类型的数据
@DefaultValue ("26")设置默认值
@Context的作用是解析一些上下文的参数,比如request和response这种
@GET定义GET访问 @POST定义POST访问
@Path("getPage3")定义访问路径
@Produces("application/json")定义返回数据格式
@Consumes("application/x-www-form-urlencoded")可接收参数数据格式
浙公网安备 33010602011771号