嗨,我是nocommerce 3.5的新手。我需要编写一个restful web服务api,以便第三方(例如移动)访问该服务。我知道我们可以通过Nop.Plugin.Misc.WebServices访问。我已经从管理员网站启用了该服务。
但现在是我的问题。我如何调用web服务,例如GetPaymentMethod、产品列表等
如果我想使用webapi编写我的自定义web服务。创建步骤是什么?我找不到任何有关web服务的文档。请给我一些的例子
感谢
如果你想在NopCommerce中快速开始编写web服务,你可以遵循MVC架构和:
- 在控制器中创建一个您认为适合您目的的Action方法。例如,如果希望访问产品列表,可以在CatalogController中创建一个遵循现有ProductList操作逻辑的操作
- 在RouteProvider.cs中设置一个Route以指向您创建的Action。根据这个路由,您可以推断出您的服务的URL
- 在Action中执行所需的处理。如果要使用参数(查询字符串格式:
param=value¶m2=value2
)调用此操作/服务,则可以将这些参数放在操作的标头中:public ActionResult QuickService(int param, string param2) { ...
和.NET将负责初始化它们 - 将结果存储在对象中(也可以是匿名对象),在操作结束时,将其返回为Json:
return Json(resultsObject);
同样,ASP.NET负责Json序列化,并自动将Content-Type
HTTP响应标头设置为"application/Json" - 您可以使用调用与Action的路由相对应的URL的服务
如果你想让用户能够登录,通过使用上面的方法,它会变得有点棘手。您需要Web服务客户端能够接受和发送cookie,以及为登录、注销、注册等提供适当的服务,。。。
然而,在这种情况下,你可能会更好地使用移动版本的网站。
最后一点:如果你不想更改NopCommerce的基本代码,你可以将上面的步骤应用到插件中。大多数NopCommerce插件都遵循MVC架构,因此您可以应用上面的步骤。