在考虑如何为客户实现 Web 服务以编程方式调用我们的服务时,我已经查看了 Microsoft Web API 框架,它看起来很棒,但这是最好、最灵活的框架吗?
例如,我想让客户像这样调用 RESTful 方法:
/api/产品/创建
并尽可能灵活,允许客户通过几种不同的方法调用它
HTTP GET:
/api/products/create?name=widget&price=1.99
HTTP POST:
/api/products/create
name=widget&price=1.99
JSON via POST:
/api/products/create
{ "name": "widget", "price": 1.99 }
XML via POST:
/api/products/create
<product><name>widget</name><price>1.99</price></product>
以及其他任何有意义的事情。归根结底,我不在乎他们如何调用它,因为我只需要输入来执行操作,我希望允许客户通过他们喜欢的任何方法调用它,并且对他们来说最简单,然后我可以响应例如,如果他们通过 Accept 请求标头指定,则使用相同的格式或特定格式。
Web API 框架是否可以处理这个问题,或者是否有其他一些路由框架可以以这种方式工作,以便使用可以发送到 ProductsRepository 的 Product 模型调用我的控制器?