GET 列表和 GET 分页的 REST 命名约定

问题描述

我必须为同一个实体创建两个端点,一个返回实体列表,第二个返回分页结果(包含列表和 totalPages、pageNumber、totalPerPage 等)。

喜欢:

  1. 根据过滤器进行查询,返回可能很大(因此返回分页

GET /entity?filter1=x&filter2=y 返回分页结果

  1. 根据一些返回一对的参数进行查询 列表中的记录

GET /entity?param=x&param=y 返回一个列表

问题:

我不能使用相同的路径来做到这一点。那么它的命名约定是什么?

类似于:“GET /entity”和“GET /entity/page”?

我没有找到:https://restfulapi.net/resource-naming/

解决方法

REST 不关心您对资源标识符使用什么拼写约定。您可以使用您喜欢的任何拼写 - 最好与您当地的惯例保持一致,并且所选拼写是您的一些人类用户(文档作者、操作员阅读访问日志等)的首选。

采纳领域专家的观点可能会有所帮助 - 这两个不同的报告是否具有不同的名称?它们是否被不同的消费者使用?具有不同代号的项目?发布日期不同?不同版本的架构?

设计资源标识符的一个常见问题:对实际资源(文档)本身没有清晰的理解。

如果你想不出任何合理的东西,请回到你理解的差异。

GET /entity/list?...
GET /entity/page?...

再次,也很好。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...