创建产品和订单控制器

创建产品和订单控制器

ID:6083170

大小:101.00 KB

页数:10页

时间:2018-01-02

创建产品和订单控制器_第1页
创建产品和订单控制器_第2页
创建产品和订单控制器_第3页
创建产品和订单控制器_第4页
创建产品和订单控制器_第5页
资源描述:

《创建产品和订单控制器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【ASP.NETWebAPI教程】2.3.6创建产品和订单控制器注:本文是【ASP.NETWebAPI系列教程】的一部分,如果您是第一次看本博客文章,请先看前面的内容。Part6:CreatingProductandOrderControllers第6部分:创建产品和订单控制器本文引自:http://www.asp.net/web-api/overview/creating-web-apis/using-web-api-with-entity-framework/using-web-api-with-entity-framework,-part-6AddaProductsController添

2、加产品控制器TheAdmincontrollerisforuserswhohaveadministratorprivileges.Customers,ontheotherhand,canviewproductsbutcannotcreate,update,ordeletethem.Admin控制器是用于具有管理员权限的用户的。另一方面,一般客户可以查看产品,但不能创建、更新或删除。WecaneasilyrestrictaccesstothePost,Put,andDeletemethods,whileleavingtheGetmethodsopen.Butlookatthedatathatis

3、returnedforaproduct:我们可以很容易地对Post、Put和Delete方法进行限制访问,而只让Get方法是开放的。但先看一看针对一个产品所返回的数据:{"Id":1,"Name":"TomatoSoup","Price":1.39,"ActualCost":0.99}TheActualCostpropertyshouldnotbevisibletocustomers!Thesolutionistodefineadatatransferobject(DTO)thatincludesasubsetofpropertiesthatshouldbevisibletocustomers

4、.WewilluseLINQtoprojectProductinstancestoProductDTOinstances.ActualCost(实际开销,指该产品的成本—译者注)属性不应该是客户可见的。其解决方案是定义包含属性子集的、客户可见的一个datatransferobject(DTO—数据传输对象)。我们将用LINQ把Product实例投影到ProductDTO实例。AddaclassnamedProductDTOtotheModelsfolder.添加一个名称为ProductDTO的类到Models文件夹:namespaceProductStore.Models{publicclas

5、sProductDTO{publicintId{get;set;}publicstringName{get;set;}publicdecimalPrice{get;set;}}}Nowaddthecontroller.InSolutionExplorer,right-clicktheControllersfolder.SelectAdd,thenselectController.IntheAddControllerdialog,namethecontroller"ProductsController".UnderTemplate,selectEmptyAPIcontroller.现在添加控制器

6、。在“解决方案资源管理器”中右击Controllers文件夹。选择“添加”,然后选择“控制器”。在“添加控制器”对话框中,将此控制器命名为“ProductsController”。在“模板”的下面选择“空的API控制器”(见图2-24)。图2-24.添加ProductsController控制器Replaceeverythinginthesourcefilewiththefollowingcode:用以下代码替换源文件的全部内容:namespaceProductStore.Controllers{usingSystem.Collections.Generic;usingSystem.Linq;

7、usingSystem.Net;usingSystem.Net.Http;usingSystem.Web.Http;usingProductStore.Models;publicclassProductsController:ApiController{privateOrdersContextdb=newOrdersContext();//ProjectproductstoproductDTOs.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。