我设计了一个简单的在线商店。它有产品卡,产品列表,向产品添加评论的能力,用户注册,按价格搜索产品和其他标准。也许网上商店会有移动客户端(android和ios)。
我想尝试使用RESTful。使用RESTful创建这个商店是否正常?如果这是正常的,那么我有几个问题。
当我创建常用网站时,我会编写以下代码:
public ActionResult Index()
{
var products = this.productRepository.GetAll();
return View(products);
}
如果我使用RESTful,如何更改网站的体系结构。这个方法必须发送给客户端什么?只有HTML吗?然后客户端必须向api执行AJAX请求才能获取数据?
答案 0 :(得分:1)
RESTful Web服务是一种基于HTTP的服务,任何与HTTP相关的应用程序都可以使用WebApi,WCF等实现它。 要构建在线商店项目,您当然可以使用WebApi构建RESTful Web服务。 很难说使用RESTful Web服务是否正常,您可以构建Web应用程序而无需构建RESTful Web服务。 它只取决于您的需求和喜好。
假设您正在使用WebApi为您的项目构建RESTful Web服务。 下面是一个示例,说明如何实现它。
WebApi控制器
public class ProductsController : ApiController
{
public IEnumerable<Product> GetAllProducts()
{
return this.productRepository.GetAll();
}
}
MVC行动
示例1:从MVC操作调用Web API控制器操作
public ActionResult Index()
{
var webApi = new ProductsController();
return View(webApi.GetAllProducts());
}
示例2:通过使用Ajax调用Web API来填充视图中的所有产品
查看:强>
<div id="contents"></div>
JS档案
$(function() {
showAllProducts();
function showAllProducts() {
var url = "http://localhost:13131/api/Products/";
$.getJSON(url, function(result) {
$("#contents").append(result); // here you need do more than this.
});
}
});
实现Web API的方法取决于您的需求,有很多方法可以实现它。 对于您的项目,尝试不同的方法是很好的,您可以在此过程中了解更多相关信息。
希望它有所帮助。