@javax.ws.rs Webservice注解

来源:互联网 发布:自然排名优化的方法 编辑:程序博客网 时间:2024/05/17 05:57

用于webservice。

1.路径

@javax.ws.rs.Path

标识要请求的资源类或资源方法的uri路径。
例,@Path("animal"),表示下一层路径是animal时要处理的事务。
@Path("{species}")这种带大括号的表示方法,表示下一层路径会被参数化,配合@PathParam("species")使用可以赋值给函数的参数。

对于代码:

@Path("animal")public class Animal {public String species,name;public int age;public static Animal animal=new Animal();@GET@Path("{species}")@Produces(MediaType.APPLICATION_JSON)public Animal wsAnimal(@PathParam("species") String species,@QueryParam("name") String name,@QueryParam("age") int age){animal.species=species;animal.name=name;animal.age=  age==0?2:age;return animal;}}

效果见图1-1:


图 1-1 @Path 用法示例


2.从报文数据到方法参数

@javax.ws.rs.PathParam

将uri中指定的路径参数绑定到资源方法参数,资源类的字段,或资源类的bean属性。

@javax.ws.rs.QueryParam

将http请求的Query参数赋值给函数的参数。

@javax.ws.rs.DefaultValue

设置@QueryParam参数的默认值。如果@QueryParam没有接收到值,就使用默认值。比如:

public String fun(@DefaultValue("description") @QueryParam("desc") String desc){...}

@javax.ws.rs.FormParam

将http请求的Form表单中的参数赋值给函数的参数。

@avax.ws.rs.Context

用于获取环境信息。一个获取客户端ip的例子见下:

@Path("util")public class Util {@Path("getClientIp")@GET@Produces(MediaType.TEXT_PLAIN)public String getClientIp(@Context HttpServletRequest request){return request.getRemoteAddr();}}

3.http方法

@javax.ws.rs.GET
表示此方法响应一个HTTP GET请求。

@javax.ws.rs.POST
表示此方法响应一个HTTP POST请求。

@javax.ws.rs.PUT

通常用来更新数据。

@javax.ws.rs.DELETE

通常用来删除数据。

4.返回数据类型

@javax.ws.rs.Produces
设置Http返回报文,报文体的内容类型。
取值为 javax.ws.rs.core.MediaType.XXX。常用的有:

MediaType.APPLICATION_JSON
MediaType.TEXT_PLAIN

3 0