1、怎么理解WebApi,他究竟是什么?
關於這一篇,視頻學習可參照B站up主:全棧ACE,全棧ACE的個人空間,社區QQ群如下,有什么問題也可加群咨詢。
首先使用Visual Studio創建一個新項目(我使用的是VS 2019,官網下載地址:Visual Studio 2019 版本 16.11 發行說明 | Microsoft Docs,IDE去微軟官網下載community版本即可,聽別人說2022會更舒服,不過由於開發項目需要,我暫時不想使用最新版,因為會有很多小bug,再此就不多說),下面進入正題:
打開VS:創建新項目:找到WebApi,創建:輸入名稱如WebapiDemo:下一步:目標框架選5.0或最新的6.0,下面的看着來就行,暫時先不用管
創建成功之后就會出現下面的解決方案目錄,點擊運行或者按下F5,啟動項目
會出來一個控制台黑窗口,等他運行完畢,在默認瀏覽器就會打開swagger(這是一個測試端口),如下圖所示
然后點WeatherForecast下的,點右邊的Try it out,點Execute
2、WebApi的地址接口從何而來?
給一個地址返回一些數據,就是WebAPI、WeatherForecast在我們的項目中只是一個普通的類,真正的來源在Controllers文件夾下的WeatherForecastController的類中,其中new了WeatherForecast類,即數據來源是控制器中的Get方法,在其中隨機生成了5組數據。
3、控制器的秘密和路由的配置
在Controllers文件夾下添加控制器,取名為TestController(Controller為固定的,前面的名稱可以更改)
這個類繼承了Controller,Controller繼承了ControllerBase,所以這個類變成了控制器。
namespace WebapiDemo.Controllers
{
[ApiController]
[Route("/[controller]/[action]")] //規則:路由里面有什么就必須顯示什么
//[Route("[controller]")] //路由 http://根目錄/api/Test,端口暴露在外邊,api可以訪問了
public class TestController : ControllerBase
{
[HttpGet]
public string Get() //請求方法行為
{
return "hello,world!";
}
}
}
4、通配化路由的配置
在每個方法的上面配置,如果路由相同,可以提取到類的上面。
5、接口傳參實現
public string GetHello(string userName,string word)
{
return userName + "," + word;
}
6、數據獲取流程及204狀態碼問題
當返回給api的值是null的時候狀態碼為204;
以2開頭的為正確訪問,04代表沒數據
301 - 資源(網頁等)被永久轉移到其它URL
以4開頭的為請求資源不存在,如404
500 內部服務器錯誤
7、MVC中數據展示方式與WebApi的不同
區別:MVC中有View,而WebApi沒有View,需要另外新建一個UI,所以實現了前后端分離,MVC的前后端是高度耦合的,可以在Views里面直接調用后端的包。WebApi需要前端給后端發送請求,
8、前端數據展示基礎
Axios封裝了Ajax,有了這個包之后,我們就可以通過WebApi通過get或者post請求到數據。
9、匿名函數、委托、委托傳參
委托:把一個方法賦給一個變量,用一個變量去代替這個方法。
委托傳參:把一個方法當成一個變量傳給另一個方法。
var value = function(){
alert("Ace");
}
function mainFunc(func){
func();
}
mainFunc();
value();
10、Axios獲取數據並展示
<script>
axios.get("需要請求的地址").then(function(data)){
console.log(data);
})
</script>
11、項目的發布與部署
首先發布項目,生成一個publish文件夾,將publish和UI都掛載到我們定義的端口之上,外部就可以訪問了,具體可參考ACE的視頻。
至此,Vue的第一節就結束啦,如果你覺得有用,點個贊吧!
如果您看了本篇博客,覺得對您有所收獲,請點擊右下角的 [推薦];
如果您想轉載本博客,請注明出處;
如果您對本文有意見或者建議,歡迎留言;
感謝您的閱讀,請關注我的后續博客。