@javax.ws.rsWebservice注解

    xiaoxiao2026-10-07  5

    用于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

    相关资源:javax.ws.rs.jar
    最新回复(0)