我最近开始为我的雇主设计一个RESTful API(C#,MVC),因为我已经被深深地投入到了C#,没有大量的C#经验,也没有创建API的经验。
在收到SO和一些Google的大量帮助之后:我设法创建了一个(我认为)好的解决方案,通过使用一些基本的反射,解析数据类型等来处理CRUD的R部分。显然我还有CUD需要照顾。
因此,我希望有人能就如何处理 U (pdate)给我一些可靠的建议。
使这有点棘手的是我们使用的DataComponent本身有几百个方法,比如100个更新方法,每个方法都有自己的一组参数,因此它们都需要不同数量的参数有些可能有可选参数( 是SQL中需要输入的可选参数吗? )。
那么如何以最佳方式处理?我是否可能需要创建一个类或设置一个路径(在webconfig文件中)以获取API要使用的每个方法?
以下是要添加的方法定义的两个示例:
public bool UPDATEActivities(int? iID, int? iWorksiteID, string strActivityName, string strMethodOfWork, DateTime? dtPlannedStart, DateTime? dtActualStart, DateTime? dtPlannedFinish, DateTime? dtActualFinish, bool? blMileStoneFlag, bool? blActivityCutShort, int? iInterruptionMinutes, string strVarianceReason, string strConn, string strUserName);
public bool UPDATEWorksiteEntry(int? iID, string strJobName, string strJobID, string strSiteName, int? iCalendarWeek, int? iMainContractor, string strJobStartFrom, string strJobEndAt, string strSACStaffAssigned, string strReferenceNumber, int? iTerritory, string strFunction, string strItemNumber, string strLine, int? iWorksiteType, string strUID, string strEventNumber, string strRestrictions, string strLatitude, string strLongitude, string strPlannedWork, int? iPlannedStartMileage, int? iPlannedFinishMileage, DateTime? dtPlannedStart, DateTime? dtActualstart, DateTime? dtPlannedFinish, DateTime? dtActualFinish, int? iActualFinishMileage, int? iActualFinishYardage, int? iActualStartMileage, int? iActualStartYardage, int? iPlannedFinishYardage, int? iPlannedStartYardage, string strSACDayPhoneNo, string strSACNightPhoneNo, string strELR, string strSacPoint, bool? blTunnelSignIn, string strConn, string strUserName);