gpt4 book ai didi

java - JAX-RS 中的 Provider 是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 11:32:33 25 4
gpt4 key购买 nike

谁能向我解释一下 JAX-RS Provider 是什么以及“@Provider”注释的作用是什么?我一直在阅读文档,但我无法得到它。
如果有资源类为传入的请求提供服务,那么 Providers 会做什么?当我创建持久资源类(不是按请求的资源类)时,它们与单例资源类有何不同?还是这些类也是提供者?

最佳答案

提供程序是一种扩展和自定义 JAX-RS 运行时的简单方法。您可以将它们视为(可能)改变运行时行为的插件,以实现一组(程序定义的)目标。

提供者与资源类相同,从概念上讲,它们存在于资源类和 JAX-RS 实现之间的级别。如果有帮助,您可以将它们视为设备驱动程序(存在于用户和内核空间之间)。这是一个广泛的概括。

当前的 JAX-RS 规范定义了三类提供程序。它们之间的共同点是所有提供者都必须通过@Provider 注解来标识,并遵循一定的构造函数声明规则。除此之外,不同的提供者类型可能有额外的注解,并且会实现不同的接口(interface)。


实体提供者

这些提供程序控制数据表示(如 XML、JSON、CSV)与其 Java 对象等价物的映射。

上下文提供者

这些提供者通过@Context 注解控制资源可以访问的上下文。

异常提供程序

这些提供程序控制 Java 异常到 JAX-RS 响应实例的映射。


您的运行时将附带许多预定义的提供程序,它们将负责实现基本级别的功能(例如,映射到 XML 和从 XML 映射、转换最常见的异常等)。您还可以根据需要创建自己的提供程序。

JAX-RS specification是阅读这些不同提供程序类型及其作用的很好引用(参见第 4 章)。

关于java - JAX-RS 中的 Provider 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com