我正在尝试构建一个网络应用程序,其中后端是完整的RESTful网络服务。也就是说,模型(业务逻辑)可以完全通过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,Basic Auth over HTTPs?
虽然这对于以后的可扩展性来说是“最佳实践”,但我是否在过度设计任务?最好只遵循典型的MVC模型并提供非常基本的API?
这个问题主要受到ASP.NET的MVC 4(WebAPI)和NodeJS模块 https://github.com/marak/webservice.js的启发。
提前致谢。