Spring 关于FE和BE之间api设计的一个问题
我正在构建一个FE-BE应用程序,我提出了一些关于它们之间api设计的问题 假设我正在开发一个具有两个屏幕的库应用程序:Spring 关于FE和BE之间api设计的一个问题,spring,typescript,api,rest,axios,Spring,Typescript,Api,Rest,Axios,我正在构建一个FE-BE应用程序,我提出了一些关于它们之间api设计的问题 假设我正在开发一个具有两个屏幕的库应用程序: 添加书籍{作者:string,名称:string} 图书馆中图书的显示+所有图书馆中每本书的副本数 城市图书馆 建议如下: 将新书存储在数据库中 向FE发送书籍/书籍列表 调用第三方api以获取城市中所有图书馆中的一本书的副本总数 所以我的两个问题是: a。当FE从BE(GET)获取书籍时,每本书都有id(存储在DB中时获得的id),但当FE创建一本新书并将其传递给BE(PO
B.从数据库获取books对象(使用model类),将其映射到DTO,从第三方API获取总数,将值设置为DTO并发送到FE。我认为您应该使用两个单独的DTO,一个用于FE->BE通信(createBookDTO),另一个用于相反的DTO(QuerybookTo)。您可以将id属性放在QueryBookTo对象上,但不能放在创建对象上 关于第二个问题,您必须考虑关注点的分离。FE不需要知道拷贝数是来自单独服务的信息,所以请将其清理干净并添加逻辑以将该信息发送到BE端。FE可以使用单个服务获取关于一本书的所有信息,而不考虑数据的来源
如果您的DB上直接有此信息,您将只能在其be端更新项目,但是如果我需要从FE更新对象,我不需要将ID放入DTO中,以便它可以告诉be需要更新哪个对象吗?通常ID作为路径参数传递
books/{bookId}
您也可以在DTO中保留一个ID字段。在映射器中处理它