1、@PATH
若希望一个Java类能够处理REST请求,则这个类必须至少添加一个@Path("/")的annotation;
对于方法,这个annotation是可选的,如果不添加,则继承类的定义。
(1)@Path里的值可以是一个复杂的表达式,例如@Path("{id}") ;
(2)@Path也支持正则表达式,例如: @Path("{id: \\d+}") ,其中 \\d+ 表示一个数字。
2、@METHOD
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
3、Accept & Content-Type
Accept表示接口要返回给客户端的数据格式,
Content-Type表示客户端发送给服务器端的数据格式。这个是写REST接口时候定义的
4、@Produces
表示类或者方法返回的MIME数据类型
(1)@Produces("text/plain") 文本类型
(2)@Produces("text/html") Html类型
(3)@Produces({"application/xml"}) Xml类型
(4)@Produces({ "application/json"}) Json类型
5、@Consumes
@Consumes 注释针对 Content-Type 请求头进行匹配,以决定方法是否能接受给定请求的内容。
6、@Queryparam与@Pathparam区别----用在入参前
@Queryparam:指定的是URL中的参数是以键值对的形式出现的,
而在程序中 @QueryParam("from") int from则读出URL中from的值,
例如:URL输入为:users?from=100&to=200&orderBy=age&orderBy=name
@Pathparam:URL中只出现参数的值,不出现键值对
例如: /users/100
7、@PathParam--修饰Path中{}的变量
@GET
@Path("/person/{id}/")
public PersongetPerson(@PathParam("id") String id){
8、FormParam--修饰页面form表单对应的值
@Path("login")
@POST
public Stringlogin(@FormParam("email") String e, @FormParam("password")String p) {
或者在bean中注解,如下
public String login(@FormParam User user) {
public class User{
@FormParam("email")
private String email;
@FormParam("password")
private String password;
}
9、@CookieParam
The @CookieParam annotation reads an information stored as a cookie andbinds it to a
method parameter. Example:
@GET
public StringcallService(@CookieParam("sessionid") String sessionid) {
...
}
联系客服