我有一个用Spring构建的Web服务,我的视图是用React构建的,我使用Redux进行状态管理。
假设我的API有一个端点/api/products
,我已经实现了搜索功能,它从所有产品中提取所有产品,将它们存储在Redux存储中并显示它们。现在我想实现排序功能,我有两个实现它的想法:
修改我的api端点/api/products
以获取参数。例如/api/products?sortBy=price
(UI中的逻辑较少,网络请求较多)
使用我在商店中存储的产品。 (网络请求越少,UI中的逻辑越多)
其中哪一个(如果有的话)将被视为最佳做法?
答案 0 :(得分:3)
这取决于
我希望这会给你关于如何决定的一般想法。如果你有具体情况的详细信息,也许可以讨论更多。
答案 1 :(得分:0)
你必须使用后端。如果您有3000条记录,则需要使用分页。你不应该对前端的所有页面进行排序,因为数据太多了。您需要使用后端来排序并仅发送要在特定页面上显示的数据。
答案 2 :(得分:0)
请不要在前端使用后端功能。 Spring Boot是一个很棒的框架,它为您提供排序和分页功能。
示例:
public interface UserRepository extends CrudRepository<User, Long> {
Page<User> findAll(Pageable pageable);
List<User> findByLastname(String lastname, Sort sort);
}
请查看文档 - &gt; Spring Data Jpa