『壹』 如何使用mvc實現webapi的增刪改查
1.創建項目:visual C# —> ASP.NET MVC 4 web應用程序 模板—>web api;
2.注冊路由:
路由表中的每一個條目都包含一個路由模板。這個Web API默認的路由模版是"api/{controller}/{id}"。在這個模版中,「api」是一個文字式路徑片段,而{controller}和{id}則是佔位符變數。
當Web API框架接收一個HTTP請求時,它會試圖根據路由表中的一個路由模板來匹配其URI。如果無路由匹配,客戶端會接收到一個404(未找到)錯誤。
3.linq to sql連接資料庫
1.建立資料庫建表
2.在models文件夾裡面新建linq to sql類文件
3.工具->連接到資料庫
4.將要用的表拖入設計區
5.獲取資料庫Getway。"linq to sql class"文件名+Datacontext實例化這個對象,數據表就會映射到一個集合屬性中,personDataDataContext db = new personDataDataContext();
6.增刪改查
增:
public Boolean Post([FromBody]UserInfo userInfo) { 
personDataDataContext db = new personDataDataContext();
var s1 = new test2 
{ 
UserName =userInfo.UserName, Id=userInfo.Id, Age=userInfo.Age 
};
if (db.test2.SingleOrDefault<test2>(s => s.Id == userInfo.Id) == null) 
{ 
db.test2.InsertOnSubmit(s1); 
db.SubmitChanges(); 
return true; 
} else { 
return false; 
}
}
刪:
public bool Delete(int id) 
{ 
personDataDataContext db = new personDataDataContext(); 
var deleteperson = db.test2.SingleOrDefault<test2>(s => s.Id == id); 
if (deleteperson == null) 
{ 
return false; 
} else { 
db.test2.DeleteOnSubmit(deleteperson); 
db.SubmitChanges(); 
return true; 
}
}
改:
public Boolean Put(int id, [FromBody]UserInfo userInfo) 
{ 
personDataDataContext db = new personDataDataContext(); 
var editperson = db.test2.SingleOrDefault<test2>(s => s.Id == userInfo.Id); 
if (editperson == null) 
{ 
return false; 
} else { 
editperson.Age = userInfo.Age; 
editperson.UserName = userInfo.UserName; 
db.SubmitChanges(); 
return true; 
} 
查:
public IEnumerable<test2> Get() 
{ 
personDataDataContext db = new personDataDataContext(); 
var query = from s in db.test2 
orderby s.UserName 
select s; 
return query; 
}
// GET api/values/5 
public string Get(int id) 
{ 
return "value"; 
}
這里我新建了一個userinfo類
public class UserInfo { public string UserName { get; set; } public int Id { get; set; } public int Age { get; set; } }
用來接收前端頁面ajax請求中的data數據,s => s.Id == userInfo.Id是lamda表達式創建委託方法意思是在db.test2的person集合中查找某個person的Id與userinfo接收到的id相等的person對象
『貳』 MVC WebApi在調試開發下訪問正常,部署到伺服器訪問不到介面
1、伺服器是否正常啟動(查看日誌)
2、伺服器的IP+PORT是否可以訪問,查看埠是否被佔用
3、若服務正常啟動,埠也可以訪問,查看你的訪問路徑是否正確(部署後的上下文webcontent是否與調試中一致)
4、訪問不到有很多原因,要看你面對的具體問題去排查,比如報錯信息之類~
『叄』 RESTful架構中的webapi
通過webAPI在server端開發一個借口,在client端調用此借口的完整過程。
  
 (VS2010版本如果包括MVC4也可以創建webAPI,或者vs2012及以上版本)
  
 運行環境:VS2017
  
 開發語言:c#
  
 一、server端
  
 1.創建webapi項目,打開vs2017-文件-新建-項目。
                                                                                  
 2.在項目中添加Controllers和Models兩個文件夾,分別用於存放控制器類和實體類。
                                          
 在Controllers文件夾中添加API控制器類。
                                          
 控制類添加完成後,會自動生成,GET,POST,PUT,DELETE四個方法。
  
 通過地址確定方法:
  
 get方式:http://IP地址:埠號/api/控制器名稱
  
 post方式:[HttpGet("方法標識名稱")] http://IP地址:埠號/api/控制器名稱/方法標識名稱
                                                                                  
 添加一個方法,在方法中描述介面需要完成的操作以及返回值。
  
  需要注意事項: 
  
  1)傳進來參數的數據類型必須與接收的數據類型相同。 
                                                                                    
 二、client端
  
 1.添加控制台應用程序用來測試調用介面是否成功。
                                          
 2.定義一個方法用來調用介面並返回數據。
                                          
 3.定義一個restful介面幫助類。
『肆』 c#mvc中的webapi怎麼迫使服務端返回字元串
返回值是string就好了。
publicstringGet(intid)
{
return"字元串";
}
用AJAX取json格式的就是這樣的。

