Web services 单jax-rs服务按表名返回表数据

Web services 单jax-rs服务按表名返回表数据,web-services,rest,jersey,jax-rs,jersey-2.0,Web Services,Rest,Jersey,Jax Rs,Jersey 2.0,我想编写一个jersey web服务,它可以按表名从数据库返回表数据 URL类似于:/rest/{table} 例如,如果我的数据库包含A、B、C表,那么请求url将是 /rest/A、/rest/B和rest/C,它将返回各自的表数据,我使用的是spring数据jpa 我目前的解决方案只是检查表名并调用相应的服务和返回数据,但如果更多的表将有许多if语句,因此我不知道如何以更好的方式编写,以便单个服务可以处理它,因为将来可能会有更多的表 请给我一些继续进行的想法 提前谢谢。这似乎是个糟糕的设计

我想编写一个jersey web服务,它可以按表名从数据库返回表数据 URL类似于:/rest/{table}

例如,如果我的数据库包含A、B、C表,那么请求url将是 /rest/A、/rest/B和rest/C,它将返回各自的表数据,我使用的是spring数据jpa

我目前的解决方案只是检查表名并调用相应的服务和返回数据,但如果更多的表将有许多if语句,因此我不知道如何以更好的方式编写,以便单个服务可以处理它,因为将来可能会有更多的表

请给我一些继续进行的想法


提前谢谢。

这似乎是个糟糕的设计。我将为每个表/集合创建一个类。将URI设置为静态以检索整个集合,即/rest/A,其中@Path/A将是类A的顶级路径。您可以创建一个基本抽象类,其中包含资源类从中扩展的常见crud操作。如果您使用像JPA这样的ORM框架来处理集合的类型检索,那么基类方法中不应该需要一堆ifs。关键是不要为一堆不相关的类型使用单个资源类。您将得到一个巨大的类,因为不同的类型可能需要不同的操作基本抽象类的一种设计可能是有一个类字段和一个接受该类类型的构造函数。对于每个资源类,超级。。。使用实体类。这样,抽象类中的所有方法都可以根据传递给它的类进行操作。不需要假设。所有JPA操作都将被键入