我应该在API包中为数据类使用接口吗?

时间:2019-09-28 15:49:57

标签: java api-design software-design

我正在设计一个API,以供将来测试时使用。

我的服务方法需要一些数据类:

public interface Service {
   GetUserResponse getUser(GetUserQuery query);
}

GetUserResponseGetUserQuery只是承载数据的结构。

我应该使用setters,getters等将它们创建为接口或POJO吗?

此外,如果是后者,则将它们放置在哪里?是在API模块中还是在带有实现的模块中?

1 个答案:

答案 0 :(得分:0)

这是我的看法,但我不同意您的选择。

  1. “服务”-太笼统,不一定与数据有关。对于我来说,这些通常意味着SOAP或更好的是REST。
  2. 查询对象?我认为最好写出用户应通过的内容。不用担心灵活性。希望保持清晰。
  3. 我希望getUser的返回值是一个用户。

这就是我要做的:

public interface UserRepository {  
    List<User> find();
    User find(Integer id);
    List<User> find(String lastName);
    Integer save(User user);
    void update(User user);
    void delete(Integer id);
}