REST-查询字符串与URL路径

REST-查询字符串与URL路径,rest,asp.net-web-api,restful-url,Rest,Asp.net Web Api,Restful Url,我正在开发一个Web Api应用程序,目前正在努力理解RESTful Api设计 假设有一个Post资源/api/posts,我希望客户能够请求当月的所有帖子。 据我所知,有两种方法可以实现这一点 一种方法是将当前月份作为资源。 另一种方式可以是Post资源的查询字符串 最好的(RESTful)方法是什么 api/posts/currentmount 或 api/posts?开始日期=?&结束日期=? 最好的(RESTful)方法是什么 REST不关心URI设计 URI设计指南主要是为了让人类的

我正在开发一个Web Api应用程序,目前正在努力理解RESTful Api设计

假设有一个Post资源
/api/posts
,我希望客户能够请求当月的所有帖子。 据我所知,有两种方法可以实现这一点

一种方法是将当前月份作为资源。 另一种方式可以是Post资源的查询字符串

最好的(RESTful)方法是什么

api/posts/currentmount

api/posts?开始日期=?&结束日期=?

最好的(RESTful)方法是什么

REST不关心URI设计

URI设计指南主要是为了让人类的事情变得更容易;或者通过使拼写更易于推理,或者通过使路由实现更易于使用

这是一个非常全面的软件工程。总结:告诉我们层次结构属于路径,非层次结构数据属于查询

一种方法是将当前月份作为资源。另一种方式可以是Post资源的查询字符串

小心

api/posts
api/posts?stardate=???&enddate=???
就REST和您的RESTful客户机而言,这些是不同的资源。查询字符串是标识符的一部分

用不同的方式说同样的话

GET /api/posts?stardate=???&enddate=??? ...
意味着

不是

您的路由框架可能会将前者转换为后者,但这是一个实现细节。REST的设计目的是将这些细节与接口分离,以便客户机和服务器可以独立发展

为什么api/posts和api/posts?开始日期=???结束日期=???不同的资源?我一直认为查询字符串只是查询资源的一种方式

我的理解是,这种观点有些过时

是否包含与该解释一致的定义

问号(“?”,ASCII 3F十六进制)用于界定可查询对象的URI和用于表示该对象查询的一组单词之间的边界。使用此表单时,组合URI表示应用于原始对象的查询结果的对象

然而,标准语言在我们到达时已经改变了

路径组件包含的数据通常以分层形式组织,与非分层查询组件()中的数据一起用于标识URI的方案和命名机构(如果有)范围内的资源

重点补充

正如菲尔丁所描述的,资源的一个关键特征是它们是抽象的

REST使用资源标识符来标识组件之间交互所涉及的特定资源。REST连接器提供了一个通用接口,用于访问和操作资源的值集,而不管成员资格函数是如何定义的,也不管处理请求的软件类型如何

换句话说,表示可以通过向对象传递查询来生成,也可以通过在访问文档存储或缓存中的条目时使用标识符作为键来生成。客户机(和中间组件)不需要了解隐藏在接口后面的任何it实现;他们只是确定他们感兴趣的概念映射,并让服务器完成它的工作

最好的(RESTful)方法是什么

REST不关心URI设计

URI设计指南主要是为了让人类的事情变得更容易;或者通过使拼写更易于推理,或者通过使路由实现更易于使用

这是一个非常全面的软件工程。总结:告诉我们层次结构属于路径,非层次结构数据属于查询

一种方法是将当前月份作为资源。另一种方式可以是Post资源的查询字符串

小心

api/posts
api/posts?stardate=???&enddate=???
就REST和您的RESTful客户机而言,这些是不同的资源。查询字符串是标识符的一部分

用不同的方式说同样的话

GET /api/posts?stardate=???&enddate=??? ...
意味着

不是

您的路由框架可能会将前者转换为后者,但这是一个实现细节。REST的设计目的是将这些细节与接口分离,以便客户机和服务器可以独立发展

为什么api/posts和api/posts?开始日期=???结束日期=???不同的资源?我一直认为查询字符串只是查询资源的一种方式

我的理解是,这种观点有些过时

是否包含与该解释一致的定义

问号(“?”,ASCII 3F十六进制)用于界定可查询对象的URI和用于表示该对象查询的一组单词之间的边界。使用此表单时,组合URI表示应用于原始对象的查询结果的对象

然而,标准语言在我们到达时已经改变了

路径组件包含的数据通常以分层形式组织,与非分层查询组件()中的数据一起用于标识URI的方案和命名机构(如果有)范围内的资源

重点补充

正如菲尔丁所描述的,资源的一个关键特征是它们是抽象的

REST使用资源标识符来标识组件之间交互所涉及的特定资源。REST连接器提供了一个通用接口,用于访问和操作资源的值集,而不管成员资格函数是如何定义的,也不管处理请求的软件类型如何

换句话说,表示可以通过向对象传递查询来生成,也可以是g