第一節 簡單的webapi接口(aspnetcore)


第一節-簡單的webapi接

開發環境

Visual Studio 2019
.net core 3.0

打開vs2019新建項目

具體步驟如下圖:

 

第一步創建新項目

 

第二步選擇ASP.NET Core Web應用程序然后下一步
第三步配置新項目然后點創建

此處我們選擇API(新手不推薦選擇空項目,選擇API系統會為我們自動創建WebApi需要的一些配置文件等),Https配置這一項我們暫時不勾選,目前我們不配置Https。

 
第四步創建新的ASP.Net Core Web 應用程序


點創建以后的界面如下圖:

 
XXX webapi

運行項目

F5運行項目,然后就可以看到微軟為我們寫好的一個天氣預報示例webapi了,這里只有一個Get請求示例,返回值為json格式。

 
天氣預報webapi示例

Startup.cs說明

注意:services.AddControllers();和 endpoints.MapControllers(); 方法成對出現, 這是.net core3.0中的最新寫法

ConfigureServices方法
用來向容器中注冊服務,注冊好的服務可以在其他地方進行調用.

Configure方法
用來配置中間件管道,即如何響應http請求.

 

 

創建第一個Controller

1 右鍵刪除系統默認創建的WeatherForecastController.csWeatherForecast.cs
2 新建一個控制器,命名:UserController.cs

 
新建UserController 01

 

 
新建UserController 02

 

 
新建UserController 03


新建以后如下圖:

 
UserController


注:我們打開項目依賴項,可以看到系統默認給我們增加了EntiyFrameworkCore的引用,由此就可以看出微軟也在大力推廣EF的使用了。

 
image.png


回歸正題,我們在UserController中增加一個Loginget方式的接口方法,返回一個hello,我們打算通過請求api/User/Login來得到這個hello,F5運行程序

 

namespace XXX.api.Controllers { [Route("api/[controller]")] [ApiController] public class UserController : ControllerBase { [HttpGet] public IActionResult Login() { return Ok("hello"); } } } 

問題來了,為啥直接給打開weatherforecast,而且還404了,別急,往下看。

 
404了

在項目Properties中打開launchsettings.json

launchsettings.json

修改launchsettings.json,我們刪掉了關於IIS相關的內容(讓webapi不通過IIS來加載),然后修改了lauchUrl屬性,如下:

{ "profiles": { "XXX.api": { "commandName": "Project", "launchBrowser": true, "launchUrl": "api/User/Login", "applicationUrl": "http://localhost:5000/", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } } 

(┬_┬)怎么還是404?別急繼續往下看

 
依然404


因為我們是要通過api/User/Login來得到這個hello,所以我們要在UserController里定義一個action的動作,這樣才能通過api/User/Login來得到這個hello,如下圖新增action

 


F5運行結果如下:

 
運行結果

 

增加全局路由

上面增加action雖然能達到想要的結果,但是每次新建一個Controller都有寫個action萬一要是忘記了又要忙乎半天,有沒有一勞永逸的辦法呢?
繼續往下看:
1.首先去掉Controller里的RouteApiController

 
1

 

2.修改Startup.cs,增加路由模版:

 
配置路由

感覺每次還是刪除兩段代碼還是有點麻煩,雖然麻煩,但是用全局路由可以方便后期更改,萬一老板不想通過api/xxx/xxx的方式來訪問接口,想通過api2/xxx/xxx的方式訪問,此時你只需要修改下Startup.cs即可。

今天就介紹到這里,后續會繼續更新,如需要源代碼的請聯系本人,加微信號:18700482809

 

詳細教程

教程1 簡單的webapi接口

教程2 通過EF訪問數據庫

教程3 增加接口文檔

教程4 讀取appsettings.json配置類

教程5 增加接口參數簽名驗證

教程6 增加接口異常處理模塊

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM