我正在稳步构建我的 API 的资源,但是在对构建 RESTful API 的正确方法进行了大量研究之后,我一直无法找到应该如何接收“复杂”请求的示例。
例如,作为登录过程的一部分(只不过是身份验证密钥更新),客户端会发送以下 URI:
/api/auth/login
URI 上没有值,资源是/auth/
,被触发的命令是/login/
。实际登录详细信息发送到服务器授权标头。
现在,促使我提出这个问题的原因是,当我正在编写一个命令以允许客户端提醒密钥的有效期时,我立即被吸引到 getkeyexpiration
或类似于命令名称的东西。
突然我觉得这听起来不像我在 6 个约束中读到的,这感觉更像是操作调用。
那么,基于上面的例子,这还是一个 RESTful API 吗?我很担心,因为我想不出一种通过简单地使用 URI 资源名称和附加值来执行此操作的方法。
谢谢
编辑:
通过阅读:http: //blog.steveklabnik.com/posts/2011-07-03-nobody-understands-rest-or-http
我开始明白,通过使用名词词命名资源和仅资源,服务器将如何运行的上下文变得更加清晰。
关于我上面的例子:
/api/auth/login
我使用 auth 作为登录的前缀,因为那是资源的上下文。我正在将我的系统设计为可扩展的,并且需要一种在 URI 级别对资源进行分类的方法。有这样做的标准方法吗?