使用 JAX-RS 简化 REST 应用开发
2009-11-05 00:00:00 来源:WEB开发网对于错误处理,Resource 方法可以抛出非受控异常 WebApplicationException 或者返回包含了适当的错误码集合的 Response 对象。
Context 标注
通过 Context 标注,根 Resource 类的实例字段可以被注入如下类型的上下文资源:
Request、UriInfo、HttpHeaders、Providers、SecurityContext
HttpServletRequest、HttpServletResponse、ServletContext、ServletConfig
CRUD 操作
JAX-RS 定义了 @POST、@GET、@PUT 和 @DELETE,分别对应 4 种 HTTP 方法,用于对资源进行创建、检索、更新和删除的操作。
POST 标注
POST 标注用于在服务器上创建资源,如 清单 2 所示。
清单 2. POST 标注@Path("/")
public class BookkeepingService {
......
@Path("/account/")
@POST
@Consumes("application/json")
public Response createAccount(Account account) {
......
}
......
如果使用 POST 方法请求资源”/account”,则 createAccount 方法将被调用,JSON 格式的请求体被自动映射为实体参数 account。
GET 标注
GET 标注用于在服务器上检索资源,如 清单 3 所示。
清单 3. GET 标注@Path("/")
public class BookkeepingService {
......
@Path("/person/{id}/accounts/")
@GET
@Produces("application/json")
public Account[] readAccountsByPerson(@PathParam("id")
int id) {
......
}
......
@Path("/accounts/{beginDate:\\d{4}-\\d{2}-\\d{2}},{endDate:\\d{4}-\\d{2}-\\d{2}}/")
@GET
@Produces("application/json")
public Account[] readAccountsByDateBetween(@PathParam("beginDate")
String beginDate, @PathParam("endDate")
String endDate) throws ParseException {
......
}
......
更多精彩
赞助商链接