【发布时间】:2012-05-21 02:17:40
【问题描述】:
我正在尝试构建一个后端是完整的 RESTful Web 服务的 Web 应用程序。 IE。模型(业务逻辑)将可以通过 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
提前致谢
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-4 rest rpc