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

问题描述 投票:0回答:1

我正在设计一个API,以便将来通过测试来覆盖它。

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

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

GetUserResponseGetUserQuery只是承载数据的结构。

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

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

java api-design software-design
1个回答
0
投票

是意见,但我不同意您的选择。

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

这是我要做的:

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.