我正在尝试构建一个 Web 应用程序,其中后端是一个完整的 RESTful Web 服务。即模型(业务逻辑)可以通过HTTP 完全访问。例如:
GET /api/users/
GET /api/users/1
POST /api/users
PUT /api/users/1
DELETE /api/users/1
提供更多不是 CRUD(动词/动作)的方法的正确方法是什么?这是否被认为更像是一个 RPC-api 域?如何正确设计 RPC api 以在 RESTful api 之上运行?
例如,我将如何优雅地为用户实现忘记密码的方法。
POST (?) /api/users/1/forgot
然后应用程序(控制器/视图)将使用 https 请求(类似 HMVC)来访问模型和方法。什么是最好的身份验证?OAuth,基于 HTTP 的基本身份验证?
虽然这是以后可扩展性的“最佳实践”,但我是否过度设计了这项任务?是否最好只遵循典型的 MVC 模型并提供非常基本的 API?
这个问题的灵感主要来自 ASP.NET 的 MVC 4 (WebAPI) 和 NodeJS 模块https://github.com/marak/webservice.js
提前致谢