现在,我有了下一个实体。这是我的数据库的m1表。
@Entity(name = "m1")
@Data
public class Information {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String date;
private Double weight_1;
private Double weight_2;
private Double weight_3;
private Double weight_4;
private int working;
}
因此,当我调用APIRest时,它会返回与m1表相对应的信息。我拥有的控制器是下一个(返回所有信息的简单控制器(:
@Controller
@RequestMapping(path = "/information")
public class InformationController {
@Autowired
private InformationRepository repository;
@GetMapping(path="/all")
public @ResponseBody List<Information> getAllInformations() {
// This returns a JSON or XML with the users
return repository.findAll();
}
}
问题是:有任何方法可以在运行时更改m1的名称。例如,我可以将表的名称放在调用路径中,并在API Rest中接受它吗?
也许这是不可能的,我正在以我不知道的糟糕方式做这件事。
编辑:我的意思是,我可以通过将我想要的表放在我调用的url/路径中来更改API Rest获取数据的表吗。例如:在我的情况下,APIRest获取数据的默认表/实体是m1,所以我可以调用http://localhost:8080/information/especifictable/all/其中特殊表是我希望接收数据库数据的表,并且在API Rest中使用该url参数,并将默认的m1更改为特殊的。
我不知道我是否解释好了,我不知道如何解释好。
只有当DB中有两个看起来相同的表时,这样的设计才有意义。如果是这种情况,那么您的数据库设计就有问题。
据我所知,基本上这是不可能的。