六年级上册如何做网站,html加入wordpress,c++做网站,wordpress主题破解版如何使用Context批注 在什么是javax.ws.rs.core.context的第2部分中#xff1f; 您学习了如何使用Context批注从SecurityContext类的注入实例检索安全信息#xff0c;以及如何通过ResourceContext实例使用JAX-RS资源类。 在本文中#xff0c;您将学习如何将Context批注与请… 如何使用Context批注 在什么是javax.ws.rs.core.context的第2部分中 您学习了如何使用Context批注从SecurityContext类的注入实例检索安全信息以及如何通过ResourceContext实例使用JAX-RS资源类。 在本文中您将学习如何将Context批注与请求和配置提供程序和应用程序一起使用。 使用Request类进行请求前提条件处理 java.ws.rs.core软件包提供了一个方便的帮助器类称为Request 它有助于预处理请求。 让我们跳入一个例子看看它是如何工作的。 GET
Path({id})
Produces(MediaType.APPLICATION_JSON)
public Response updateEmployee(PathParam(id) int id,Context Request request,Employee emp) {Employee employee database.get(id);EntityTag tag new EntityTag(Integer.toString(employee.hashCode()));Response.ResponseBuilder builder request.evaluatePreconditions(tag);if (builder ! null) {// Preconditions not met so returnreturn builder.build();}// Preconditions met so update employeeemployee.salary emp.salary;return Response.noContent().build();
} 资源方法updateEmployee接受雇员实体作为参数及其ID和Request实例。 该方法从数据库中检索员工并使用其哈希码生成ETag。 通过将ETag传递给Request实例的validatePreconditions方法来评估 ETag。 如果不满足先决条件则方法返回否则将更新雇员实体然后返回给调用方。 java.ws.rs.core.Request方法具有以下所示的6种方法 evaluatePreconditions()
evaluatePreconditions(Date lastModified)
evaluatePreconditions(Date lastModified, EntityTag eTag)
evaluatePreconditions(EntityTag eTag)
String getMethod()
Variant selectVariant(ListVariant variants)三个接口配置提供程序和应用程序 有三个接口提供有关JAX-RS应用程序运行环境的信息。 它们是javax.ws.rs.core.Application javax.ws.rs.core.Configuration和javax.ws.rs.ext.Providers 。 Application实例指定JAX-RS应用程序的组件并通过三种方法提供进一步的数据 getClasses()
getProperties()
getSingletons() Configuration实例保存已配置的应用程序上下文的数据并包含检索与启用属性的功能和组件注册有关的数据的一系列方法。 Providers类提供提供程序实例的运行时查找。 它包含四个getter方法这些方法返回给定类型的上下文解析器一个异常类的异常管理器一个消息正文读取器和一个消息正文写入器。 接下来是什么 这就是什么是javax.ws.rs.core.context的第3部分第4部分。 您将学习如何使用Context注释注入仅在将应用程序部署在servlet容器中时可用的类的实例。 他们是 javax.servlet。 HttpServletRequest javax.servlet。 HttpServletResponse javax.servlet。 ServletConfig javax.servlet。 ServletContext 代码库 这个以及我所有文章的源代码都在readlearncode_articles Github存储库中 翻译自: https://www.javacodegeeks.com/2017/08/javax-ws-rs-core-context-part-3.html