提供者是扩展和定制JAX-RS运行时的简单方法。您可以将它们视为可以(可能)更改运行时行为的插件,以实现一组(程序定义的)目标。
供应商是 不 一样的资源类,它们的存在,在概念上,在资源类和JAX-
RS实现在两者之间的水平。如果有帮助,您可以从与设备驱动程序(用户空间和内核空间之间存在)相同的角度来考虑它们。这是一个广义的概括。
当前的JAX-
RS规范定义了三类提供程序。它们之间的共同点是,所有提供程序都必须由@Provider批注标识,并遵循某些构造函数声明规则。除此之外,不同的提供程序类型可能具有其他注释,并将实现不同的接口。
实体提供者
这些提供程序控制数据表示形式(例如XML,JSON,CSV)到其Java对象等效项的映射。
上下文提供者
这些提供程序控制资源可以通过@Context批注访问的上下文。
例外提供者
这些提供程序控制Java异常到JAX-RS Response实例的映射。
您的运行时将附带许多预定义的提供程序,这些提供程序将负责实现基本功能级别(例如,用于与XML进行映射,从XML转换,最常见的异常等)。您还可以根据需要创建自己的提供程序。
在JAX-RS规范是对这些不同类型的供应商和他们做了什么(见第4章)读了一个很好的参考。



