@javax.ws.rs Webservice注解
Posted 鬼王呵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@javax.ws.rs Webservice注解相关的知识,希望对你有一定的参考价值。
用于webservice。
1.路径
@javax.ws.rs.Path
标识要请求的资源类或资源方法的uri路径。例,@Path("animal"),表示下一层路径是animal时要处理的事务。
@Path("species")这种带大括号的表示方法,表示下一层路径会被参数化,配合@PathParam("species")使用可以赋值给函数的参数。
对于代码:
[java] view plain copy- @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)...
将http请求的Form表单中的参数赋值给函数的参数。
@avax.ws.rs.Context
用于获取环境信息。一个获取客户端ip的例子见下:
[java] view plain copy- @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. TEXT_PLAIN
以上是关于@javax.ws.rs Webservice注解的主要内容,如果未能解决你的问题,请参考以下文章
使用 javax.ws.rs.core.Application 实现通用 JAX-RS Web 服务
找不到类型的上下文数据:javax.ws.rs.core.UriInfo