46.4. 使用资源方法

概述

资源方法使用 JAX-RS 注释进行注释。它们具有一个 HTTP 方法注释,用于指定方法处理的请求类型。JAX-RS 在资源方法上放置几个限制。

常规限制

所有资源方法都必须满足以下条件:

参数

资源方法参数采用两种形式:

  • 实体参数- 未注解参数。其值从请求实体正文映射。实体参数可以是应用程序有实体提供程序的任何类型。通常它们是 JAXB 对象。

    重要

    资源方法 只能有一个 实体参数。

    有关实体供应商的详情请参考 第 51 章 实体支持

  • 注释 的参数-Annotated 参数使用其中一个 JAX-RS 注释,用于指定如何从请求映射参数的值。通常,参数的值从请求 URI 的部分映射。

    有关使用 JAX-RS 注解将请求数据映射到方法参数的更多信息,请参阅 第 47 章 将信息传入资源类和方法

例 46.4 “带有有效参数列表的资源方法” 显示有有效参数列表的资源方法。

例 46.4. 带有有效参数列表的资源方法

@POST
@Path("disaster/monster/giant/{id}")
public void addDaikaiju(Kaiju kaiju,
                        @PathParam("id") String id)
{
  ...
}

例 46.5 “带有无效参数列表的资源方法” 显示具有无效参数列表的资源方法。它有两个没有注解的参数。

例 46.5. 带有无效参数列表的资源方法

@POST
@Path("disaster/monster/giant/")
public void addDaikaiju(Kaiju kaiju,
                        String id)
{
  ...
}

返回值

资源方法可以返回以下之一:

所有资源方法将 HTTP 状态代码返回到请求者。当方法的返回类型为 void 或返回的值是 null 时,资源方法会将 HTTP 状态代码设置为 204。当资源方法返回除 null 以外的任何值时,它会将 HTTP 状态代码设置为 200