`

JAX-RS之@QueryParam和@DefaultValue

阅读更多
1 先来看@queryparam
   先看例子:
 

Path("/users")
public class UserService {
 
	@GET
	@Path("/query")
	public Response getUsers(
		@QueryParam("from") int from,
		@QueryParam("to") int to,
		@QueryParam("orderBy") List<String> orderBy) {
 
		return Response
		   .status(200)
		   .entity("getUsers is called, from : " + from + ", to : " + to
			+ ", orderBy" + orderBy.toString()).build();
 
	}
 
}


   URL输入为:users/query?from=100&to=200&orderBy=age&orderBy=name
  此时,输出为:
getUsers is called, from : 100, to : 200, orderBy[age, name]
   要注意的是,跟@pathparam不同,@queryparam
中,指定的是URL中的参数是以键值对的形式出现的,而在程序中
@QueryParam("from") int from则读出URL中from的值,
而@pathparem中,URL中只出现参数的值,不出现键值对,比如:
“/users/2011/06/30”

则:
 
@GET
	@Path("{year}/{month}/{day}")
	public Response getUserHistory(
			@PathParam("year") int year,
			@PathParam("month") int month, 
			@PathParam("day") int day) {
 
	   String date = year + "/" + month + "/" + day;
 
	   return Response.status(200)
		.entity("getUserHistory is called, year/month/day : " + date)
		.build();
 
	}


输出为:
getUserHistory is called, year/month/day : 2011/6/30

2 以动态的方式获得:
  
@Path("/users")
public class UserService {
 
	@GET
	@Path("/query")
	public Response getUsers(@Context UriInfo info) {
 
		String from = info.getQueryParameters().getFirst("from");
		String to = info.getQueryParameters().getFirst("to");
		List<String> orderBy = info.getQueryParameters().get("orderBy");
 
		return Response
		   .status(200)
		   .entity("getUsers is called, from : " + from + ", to : " + to
			+ ", orderBy" + orderBy.toString()).build();
 
	}
 



URL;users/query?from=100&to=200&orderBy=age&orderBy=name
输出为:
getUsers is called, from : 100, to : 200, orderBy[age, name]
注意这里把orderby后的两个参数读入为LIST处理了.


3 @DefaultValue,默认值

  例子:
 
@Path("/users")
public class UserService {
 
	@GET
	@Path("/query")
	public Response getUsers(
		@DefaultValue("1000") @QueryParam("from") int from,
		@DefaultValue("999")@QueryParam("to") int to,
		@DefaultValue("name") @QueryParam("orderBy") List<String> orderBy) {
 
		return Response
		   .status(200)
		   .entity("getUsers is called, from : " + from + ", to : " + to
			+ ", orderBy" + orderBy.toString()).build();
 
	}



URL:users/query
输出:getUsers is called, from : 1000, to : 999, orderBy[name]

很好理解吧
2
0
分享到:
评论
2 楼 itcyt 2011-11-24  
用ajax怎么去调用这个jax-rs应用
itcyt 写道
用ajax怎么去调用这个jax-rs应用

参数要怎么传进去呢
1 楼 itcyt 2011-11-24  
用ajax怎么去调用这个jax-rs应用

相关推荐

    jax-rs jax-ws所需包,亲测可用

    标题"jax-rs jax-ws所需包,亲测可用"表明这个压缩包包含了用于开发Java RESTful Web服务(JAX-RS)和Java SOAP Web服务(JAX-WS)所需的库文件。这些库是Java应用程序进行Web服务交互的核心组件,确保了对HTTP协议...

    [Jax-RS] RESTful Java 开发 (Jax-RS 实现) (英文版)

    [奥莱理] RESTful Java 开发 (Jax-RS 实现) (英文版) [奥莱理] RESTful Java with Jax-RS (E-Book) ☆ 图书概要:☆ Learn how to design and develop distributed web services in Java using RESTful ...

    [Jax-RS] RESTful Java 开发 (Jax-RS 2.0 实现) (英文版)

    The RESTEasy workbook that follows provides step-by-step instructions for installing, configuring, and running several working JAX-RS examples, using the JBoss RESTEasy implementation of JAX-RS 2.0. ...

    restlet_jax-rs列子(客户端+服务端)

    RESTlet和JAX-RS是两个在Web服务开发中至关重要的技术。RESTlet是一个开源框架,专门用于构建RESTful(Representational State Transfer)应用程序,而JAX-RS(Java API for RESTful Web Services)则是Java平台上的...

    一个包含jax-ws和jax-rs的例子(含服务端和客户端)

    标题中的“一个包含jax-ws和jax-rs的例子(含服务端和客户端)”是指这是一个示例项目,它演示了如何使用Java API for XML Web Services (JAX-WS)和Java API for RESTful Web Services (JAX-RS)来创建和消费Web服务。...

    JAX-RS包(内含1.0和1.4)

    此外,JAX-RS还允许第三方提供实现,如Jersey、RESTEasy等,它们在标准之上提供了额外的功能和便利性。 总结来说,JAX-RS是Java开发REST服务的标准API,通过其提供的注解和接口,开发者可以高效、简洁地构建RESTful...

    JAX-WS API, JAX-RS API

    综上所述,JAX-WS和JAX-RS都是Java平台中处理Web服务的重要工具,但它们的侧重点不同。JAX-WS专注于SOAP协议的Web服务,而JAX-RS则面向RESTful风格的API设计。了解并熟练掌握这两个API,对于Java开发者来说,意味着...

    JAX-RS注解及使用方法

    @Path 注解是 JAX-RS 中最基本的注解之一,它用来指定资源的 URI 路径。该注解可以应用在类级别和方法级别上。在类级别上,@Path 注解指定了资源的基本 URI 路径,而在方法级别上,@Path 注解指定了资源的相对 URI ...

    JAX-RS入门jar包集合

    1. **核心注解**:JAX-RS提供了多种注解来定义资源类和方法,如`@Path`用于指定资源的URI路径,`@GET`、`@POST`等用于定义HTTP方法,`@PathParam`、`@QueryParam`、`@HeaderParam`、`@CookieParam`等用于绑定请求...

    JAX-RS之rest接口实例

    **JAX-RS与REST接口实例...总结,这个JAX-RS和REST的实例展示了如何通过Java实现RESTful Web服务,包括服务端的资源类定义、服务启动类以及客户端的调用。理解并掌握这些知识对于开发基于HTTP的分布式应用至关重要。

    JAX-RS+spring

    JAX-RS(Java API for RESTful Web Services)和Spring框架是两种在Java开发中广泛使用的技术,它们分别处理不同的层面。JAX-RS是Java平台上的标准,用于构建RESTful Web服务,而Spring则是一个全面的后端框架,提供...

    jax-rs 2.1规范最终版-英文

    JAX-RS 2.1规范是JAX-RS的最新版本,它提供了一套丰富的API和运行时契约,允许Java开发者能够轻松创建RESTful服务。此规范旨在使得RESTful服务的开发更加标准化,同时提供了多种功能,如资源定位、媒体类型处理、...

    JAX-RS Extension

    1. **JAX-RS基础**:JAX-RS是Java标准JSR 311和JSR 339的一部分,用于简化创建RESTful Web服务。它通过注解如`@Path`, `@GET`, `@POST`, `@PUT`, `@DELETE`等,使得开发者可以直接在Java方法上声明HTTP操作。 2. **...

    jax-rs开发实例(bookkeeping)

    1. **注解**:JAX-RS使用注解来定义资源类和方法,比如`@Path`定义资源路径,`@GET`、`@POST`等定义HTTP操作,`@PathParam`、`@QueryParam`、`@HeaderParam`等处理请求参数。 2. **实体类**:用于表示服务处理的...

    jax-ws jax-rs 分别创建soap和restful类型的webservice

    本篇将详细介绍如何使用Java技术栈,特别是JAX-WS和JAX-RS,以及Maven和Spring来创建这两种不同类型的Web服务。 首先,让我们关注SOAP Web服务的创建,这是通过JAX-WS实现的。JAX-WS是Java API for XML Web ...

    Spring MVC与JAX-RS比较与分析

    JAX-RS(JSR 311)指的是Java API for RESTful Web Services,Roy Fielding也参与了JAX-RS的制订,他在自己的博士论文中定义了REST。对于那些想要构建RESTful Web Services的开发者来说,JAX-RS给出了不同于JAX-WS...

    RESTful Java with JAX-RS 2.0

    作者Bill Burke以其在Java技术方面的深厚底蕴和对RESTful架构的深刻理解,引领读者深入理解并掌握JAX-RS 2.0标准。 书中首先介绍了REST的概念以及其与HTTP的重生之间的联系。REST(Representational State Transfer...

    java_webservice_JAX-RS.zip_cxf_jax_jax-rs_spring cxf

    Java Web服务,特别是JAX-RS(Java API for RESTful Web Services)和Apache CXF,是企业级应用程序中实现服务接口的重要技术。本教程将深入探讨如何在SSH(Spring、Struts、Hibernate)架构中集成Web服务,以及如何...

Global site tag (gtag.js) - Google Analytics