我应该在 JAX-RS 中使用@QueryParam还是@BeanParam?
我正在考虑处理查询/请求参数的两个选项:
- 将各个参数映射到相应的方法参数:
@GET
public String blah(@QueryParam("testParam") String testParam) {
}
- 将所有参数映射到 Java Bean 的属性:
@GET
public String blah(@BeanParam RequestParamBean bean) {
}
第二个选项似乎更具吸引力,因为它允许将输入查询参数的验证逻辑与方法移动和分离,该方法的核心职责应该是处理并将验证委托给验证者,应该高度解耦(以及SOLID原则,对吧?)。blah
但是,我看到的大多数示例(实际上是我正在处理的现有项目)仅使用第一个选项。我想知道是否有任何理由不广泛使用第二个选项?有什么陷阱吗?这是反模式吗?这是否违反任何最佳实践?