我正在设计由REST api调用的后端EJB调用
EJB调用的示例;
获取所有系统
getSystems(String systemId)
现在我知道我会获得系统ID来获取所有系统。 有可能通过另一个唯一ID来检索它们
getSystemsByOtherId(String otherId)
要求在
中传递排序参数 getSystems(String systemId, String sort_by, String sort_how)
将Map作为param并将其传递给每个信息
会不会更好 getSystems(Map criteria)
因此,如果将来需要,Map的键值对将具有systemId,otherId,sort_by,sort_how等。或者,最好采用其他方法为不同的参数设置独特的方法。或者,如果还有其他更好的方法。
谢谢。
答案 0 :(得分:0)
第一个解决方案有点麻烦,如果你想添加或删除你每次必须修改EJB签名的参数,地图解决方案有点脏,因为你必须跟踪您在运行时的参数名称,如果您想使用String
以外的类型参数,您也会在运行时丢失输入信息。
这就是我要做的,定义一个封装你的参数的类:
public class Criteria {
private String systemId;
private String otherId;
private String sortBy;
private String sortHow;
.
.
.
}
并在您的EJB中,
getSystem(Criteria criteria)