我的工作是让承包人在3-4年前创建一个应用程序,使用Springboot和Hibernate/Crud。我现在负责申请。有些事情似乎不是最佳实践。我在10倍左右扩展了这个应用程序,但一直按照我所教的方式进行数据库连接。
我目前通过数据库管理数据直接CRUD回购‘保存’等。
该应用程序在公司内部使用,但有许多用户。
实体/模型(精简示例):
@Entity
public class ConfirmedOrders implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ORDER_ID")
private Integer orderID;
@Column(name = "ORDER_STATUS")
private String orderStatus;
public ConfirmedOrders(Integer orderID, String orderStatus){
this.orderID = orderID;
this.orderStatus = orderStatus;
public Integer getOrderID() {
return orderID;
}
public void setOrderID(Integer orderID) {
this.orderID = orderID;
}
public String getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}CRUD储存库:
public interface ConfirmedOrdersRepository extends JpaRepository<ConfirmedOrders, Integer> {
ConfirmedOrders findByOrderID(Integer id);
}控制器类(示例片段):
orderID = 12;
ConfirmedOrders cO = confirmedOrdersRepo.findByOrderID(orderID);
cO.setOrderStatus("CANCEL");
parent.confirmedOrdersRepo.save(cO);现在我知道这种方法没有什么‘错’,但是我最近和许多人说,最好通过休息来做。在3个数据库上有超过45个表,所有数据的更改和传输都是按照上述或在需要时使用本机查询完成的。
是否值得花时间进行安全/未来保护,将上述内容移植到休息处理方式上?
发布于 2022-03-05 15:54:52
创建一个允许您进行保存/获取/删除/更新操作的REST客户端应该相对容易,有趣的部分是将其他服务或应用程序转换为使用REST端点。
如果您有时间这样做,那么重构代码以调用rest端点没有坏处,rest端点然后调用实际处理存储库功能和数据验证的存储库“服务”。
您甚至可以创建rest功能,同时保持原始应用程序的灵活性,直到测试和迁移完毕为止。一旦这样做,就可以对端点进行版本化,而不是直接修改控制器,以更改可能会中断的功能和功能。
虽然我不完全理解您的问题或当前控制器实际使用的是什么,但是让REST控制器实现最基本的功能(例如GET / POST / PUT / DELETE),然后在服务类中调用适当的方法。
您的服务类应该执行所需的所有数据处理/validation,然后您的存储库只执行CRUD操作。
https://stackoverflow.com/questions/71363156
复制相似问题