Red Hat Training

A Red Hat training course is available for Red Hat Fuse

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