所有,
对于我们从.NET开始的新项目,我们想要运行纯REST.因此,我们选择.NET Web API作为.NET Framework 4.5(而不是WCF)的一部分发布,并考虑到它支持纯REST特性.但是,当我们根据我们的要求进行更多探索时,我们意识到它没有提供类似URL格式的REST的URI模板支持.我们仍然可以,因为我们对具有查询字符串格式的WebAPI感觉不太好.
当我们聘请一个新团队时,他们开始强制执行他们需要REST类型的URL格式,因为它是标准规范和喜欢.
当被问及执法时,他们刚刚提到它是一个标准,我们必须坚持它,这并不能说服我.
所以,我有兴趣知道REST架构提供了什么?还有querystring格式的URI不符合REST方法吗?
REST URI:http://myapplicationdomain.com/apps/appId
查询字符串URI:http://myapplicationdomain.com/GetAps/appId= {appId}
提前致谢.
REST不仅是URL格式,REST也不限制您使用参数.
REST哲学的一部分是识别资源,因此您的资源具有URL,并且HTTP谓词(Get,Post,Delete,Put等)定义此资源上的操作.例如,您仍然可以使用参数
http://myappfomain.com/product/?page=1&pageSize=10
它是对产品列表的GET请求(因为未指定ID),并且在查询字符串中指定了分页/排序条件.这是完全正确的.
要么
http://myappdomain.com/product/123/?format=json
在这里,您可以访问ID为#123的产品,但要求将其作为JSON返回.这也很好.
从这个角度来看,资源具有自己的URL 更合乎逻辑.参数可能会添加一些细节.
以这种方式看待它:URI定义主题 HTTP Verb定义操作(做什么)查询参数提供一些细节(如何做)
希望能帮助到你.