Rest JAX-RS/Jersey中资源类和提供者类之间的区别是什么?

Rest JAX-RS/Jersey中资源类和提供者类之间的区别是什么?,rest,jersey,jax-rs,Rest,Jersey,Jax Rs,在Jersey/JAX-RS中,我听到了术语“资源类”和“提供者”。我不清楚这两者的区别是什么。有人能提供一些适当的解释吗?您的类是用@Path注释的,提供者是我们可以扩展/实现的任何其他类,它们允许我们进入/扩展JAX-RS框架,即 ContainerRequestFilter ContainerResponseFilter MessageBodyReader MessageBodyWriter WriterInterceptor ReaderInterceptor ContextResol

在Jersey/JAX-RS中,我听到了术语“资源类”和“提供者”。我不清楚这两者的区别是什么。有人能提供一些适当的解释吗?

您的类是用
@Path
注释的,提供者是我们可以扩展/实现的任何其他类,它们允许我们进入/扩展JAX-RS框架,即

  • ContainerRequestFilter
  • ContainerResponseFilter
  • MessageBodyReader
  • MessageBodyWriter
  • WriterInterceptor
  • ReaderInterceptor
  • ContextResolver
  • ExceptionMapper
  • ClientRequestFilter
  • ClientResponseFilter
除了客户端筛选器之外,所有这些提供程序类都可以使用
@provider
进行注释,并在启用扫描时自动在服务器端注册

您可能经常会听到这样的问题:“您使用的是什么JSON提供程序?”这指的是
MessageBodyReader
MessageBodyWriter
,这是一种提供程序,或者更准确地说是一种“实体提供程序”,如中所述。这实际上是唯一具有自己前缀类型的提供程序类型。所有其他人都被概括为“提供者”


可能会有更多的提供者类型,但这些是我现在能想到的所有内容。

谢谢你,保罗。通过阅读你的帖子,你会变得更加清晰。