javax.ws.rs.core
是 Java API for RESTful Web Services (JAX-RS) 规范的一部分。JAX-RS 是 Java EE(现为 Jakarta EE)中用于开发 RESTful Web 服务 的标准 API,而 javax.ws.rs.core
包提供了核心类和接口,用于处理 HTTP 请求和响应、定义资源、管理上下文等。
以下是关于 javax.ws.rs.core
的详细介绍:
1. JAX-RS 简介
JAX-RS 是一个基于注解的 API,用于简化 RESTful Web 服务的开发。它允许开发者通过简单的注解(如 @GET
、@POST
、@Path
等)定义资源和方法,并将其映射到 HTTP 请求和响应。
2. javax.ws.rs.core
包的核心类和接口
javax.ws.rs.core
包提供了以下核心类和接口:
2.1 请求和响应
Response
:表示 HTTP 响应,包含状态码、响应头和响应体。Response.ok("Hello, World!").build();
Response.Status
:定义常见的 HTTP 状态码(如OK
、NOT_FOUND
等)。
2.2 上下文
UriInfo
:提供有关请求 URI 的信息,如路径参数、查询参数等。HttpHeaders
:提供对 HTTP 请求头的访问。SecurityContext
:提供安全相关的信息,如用户身份验证和授权。
2.3 媒体类型
MediaType
:定义常见的媒体类型(如APPLICATION_JSON
、TEXT_PLAIN
等)。@Produces(MediaType.APPLICATION_JSON)
2.4 其他工具
Link
:用于构建和解析 HTTP 链接。CacheControl
:用于控制 HTTP 缓存行为。MultivaluedMap
:用于处理多值映射(如 HTTP 头或查询参数)。
3. javax.ws.rs.core
的使用场景
- 构建 RESTful Web 服务:定义资源和方法,处理 HTTP 请求和响应。
- 管理上下文:访问请求 URI、头信息和安全上下文。
- 控制媒体类型:指定请求和响应的内容类型(如 JSON、XML)。
- 构建复杂响应:使用
Response
类构建自定义的 HTTP 响应。
4. javax.ws.rs.core
的示例
以下是一个简单的 JAX-RS 资源类,展示了 javax.ws.rs.core
包的使用:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.