我正在使用JAX-RS公开REST端点。
要保持良好的程序包状态,我想将我的DTO类(我以Json返回并接受Json的类)设置为package-private。
JAX-RS是否要求这些类始终是公共的?
我想对我的自定义异常映射器(注为@Provider
)应用相同的内容。
答案 0 :(得分:0)
根据JAX-RS 2.0规范(第04章,第27页):
4.1.2构造函数
由JAX-RS运行时实例化的提供程序类,并且必须 有一个公共构造函数,JAX-RS运行时可以为其提供所有 参数值。请注意,零参数构造函数是允许的 在这个规则下。
实际上public
类只能存在于public
类中。
正如所讨论的,这是一个特定于供应商的问题,但是任何允许注册程序包私有提供者的供应商均未真正遵循该规范。