映射为EJB后端调用的所有字段的参数

时间:2014-02-20 16:22:48

标签: java api rest ejb

我正在设计由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等。或者,最好采用其他方法为不同的参数设置独特的方法。或者,如果还有其他更好的方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

第一个解决方案有点麻烦,如果你想添加或删除你每次必须修改EJB签名的参数,地图解决方案有点脏,因为你必须跟踪您在运行时的参数名称,如果您想使用String以外的类型参数,您也会在运行时丢失输入信息。

这就是我要做的,定义一个封装你的参数的类:

public class Criteria {
  private String systemId;
  private String otherId;
  private String sortBy;
  private String sortHow;
         .
         .
         .
}

并在您的EJB中,

getSystem(Criteria criteria)