logo资料库

java Rest接口服务端(简单式)(Java后台各类型资料).doc

第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
资料共8页,全文预览结束
Java后台各类型资料
一、Rest调用webservice接口
1、什么是Rest
2、Rest所需jar包
3、接受和返回类型
4、web.xml配置
5、编写中所用标注及示例
Java 后台各类型资料 目录 一、 Rest 调用 webservice 接口 ..............................................................................................2 1、 什么是 Rest................................................................................................................ 2 2、Rest 所需 jar 包 ............................................................................................................2 3、接受和返回类型 .......................................................................................................... 3 4、web.xml 配置............................................................................................................... 3 5、编写中所用标注及示例.............................................................................................. 4
一、Rest 调用 webservice 接口 1、什么是 Rest  REST 是一套用来创建 Web Service 的方法。  REST 式的 Web Service 的主旨是让事情尽量的简单化。  REST 式 的 Web Service 使 用 HTTP 里 的 方 法 : GET , POST , DELETE, PUT。你不需要使用 URL 或请求的内容来指定这个方法。  REST 式的 Web Service 使用 URL 来指明你将要操作什么对象。  REST 式的 Web Service 使用 HTTP 状态码作为返回值。  REST 式的 Web Service 调用产生的 HTTP 请求内容只是用于服务数 据——不是用来指明调用方法,目标对象或返回值的。 使用 REST 方法来开发 Web Service 的关键点是利用 HTTP 协议的简单性, 而不是去扩展这个协议。你的 Web Service 调用最终应该是非常的简单而且非常 的易于理解。 参考文档:http://kb.cnblogs.com/page/104300/ 2、Rest 所需 jar 包 下载地址:http://download.csdn.net/download/u012524687/7993863 此地址为 CSDN 整合过得 jar 包解压可用。 所需 jar 包截图:
图 1.1 rest.jar 3、接受和返回类型 MediaType 指向的类型参考地址: http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/MediaType.html 常用类型:  MediaType.TEXT_PLAIN:无格式文本  MediaType.TEXT_XML:”text/xml” 忽略 xml 头所指定的片吗格式而采用 us-ascii 编码  MediaType.APPLICATION_XML:”application/xml” 根据 xml 头指定的编码 格式来编码  MediaType.APPLICATION_JSON:”application/json” json 格式 4、web.xml 配置 restDemo com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages

rest.service//包名 1//优先级 restDemo /rest/* //配置访问地址,如:http://localhost:8080/RestDemo/rest/RestService/123 5、编写中所用标注及示例 JAX-RS 是一套用 Java 实现 rest 服务的规范,使 Java 程序员可以使用一套固 定的接口来开发 rest 应用,避免了依赖于第三方框架。同时,JAX-RS 使用 POJO 编程模型和基于标注的配置,并集成了 JAXB,从而可以有效缩短 REST 应用的 开发周期。 JAX-RS 提供了一些标注将一个资源类,一个 POJOJava 类,封装为 Web 资 源。这些标注包括以下: 1、@Path:标注资源类或方法的相对路径。Path 的参数有三种: 1.1 固定值 1.2 纯正则表达式 1.3 固定值和正则表达式的混合体 2、@GET,@PUT,@POST,@DELETE:标注方法是用的 HTTP 请求类型。 2.1 @GET:提供查询方法,所有的参数均在 URL 路径中,只能传输一 个或者多个字符串无法传输对象。 2.2 @POST:提供新增方法,参数可以存在 URL 路径中,也可以存在 BODY 中。如传输文本格式的参数,使用 String 类型或者基本数据类型;如 传输 JSON 格式的参数,使用 map、list 或者对象。 2.3 @PUT:提供修改方法。 2.4 @DELETE:提供删除方法。
3、@Produces,@Consumes:标注 MIME 媒体类型。 3.1 @Produces:标注返回的 MIME 媒体类型。 @Produces(“text/plain;charset=utf-8”):处理返回中文乱码。(不设置 的话默认为这个) @Produces(MediaType.TEXT_XML):返回的类型为”text/xml”,忽略 xml 头所指定编码格式而默认采用 us-ascii 编码。 3.2 @Consumes:标注可接受的 MIME 媒体类型。 @Consumes(MediaType.TEXT_PLAIN):可接受的类型为”text/plain”, 无格式文本。 4、@PathParam,@QueryParam,@HeaderParam,@CookieParam, @MatrixParam,@FormParam:分别标注方法的参数来自于 HTTP 请求 的不同位置。 4.1 @PathParam:提取 URL 的路径。 例如:URL 地址为: http://localhost:8080/RestDemo/rest/RestService/123 请求模板为: @path(“RestService”) public Class RestService{ @GET @Path(“{id}”) @Produces(“text/plain;charset=utf-8”) public String getPatnParam(@PathParam(value=”id”) int id){ return “url 中的参数为:”+id; } } 4.2 @QueryParam:来自于 URL 的查询参数。 例如:URL 地址为: http://localhost:8080/RestDemo/rest/RestService/getQueryParam?id=12 请求模板为: @path(“RestService”)
public Class RestService{ @GET @Path(“getQueryParam”) @Produces(“text/plain;charset=utf-8”) public String getQueryParam(@QueryParam(value=”id”) String id){ return “请求信息为:”+id; } } 4.3 @HeaderParam:来自于 HTTP 的请求头消息。 例如:URL 地址为: http://localhost:8080/RestDemo/rest/RestService/getHeaderParam 请求模板为: @path(“RestService”) public Class RestService{ @GET @Path("/getHeaderParam") public String getHeaderParam(@HeaderParam(value="host") String host ){ return "请求头消息:" + host; } } 4.4 @MatrixParam:GET 方式请求时获取路径中与 Path 正则表达式多出 不一致的参数。 例如:URL 地址为: http://localhost:8080/RestDemo/rest/RestService/test--context;color=bal ck 请求模板为: @path(“RestService”) public Class RestService{ @GET
@Path(“{model}--{year}”) @Produces(“text/plain;charset=utf-8”) public String getMatrixParam(@MatrixParam(value=”color”) String color, @PathParam(value=”model”) String model, @PathParam(value=”year”) String year ){ return “ 参 数 为 : color : ”+ color + “ ; model : ”+ model+” ; year:”+year; } } 4.5 @FormParam:其功能是可以和前端的 HTML 绑定 例子:

JAX-RS @FormParam Testing

Name : Age :
请求模板为: @Path(“RestService”) public Class RestService{ @POST //要和 HTML 中的对应 @Path(“/add”) @Produces(“text/plain;charset=utf-8”) public String add(@FormParam(”name”) String name @FormParam(”age”) int age){
return “Name=”+name+”;Age=”+age; } }
分享到:
收藏