
ASP.NET Web API快速入門介紹
2.1 要砍掉的目錄如下:
2.1 砍掉App_Start目錄下的BundleConfig.vb文件,然后在Global.asax下刪除相應的配置BundleConfig.RegisterBundles(BundleTable.Bundles)
2.3 砍了這么多東西,我們要先測試一下項目能不能運行起來!!!!!!
測試前先把Controllers目錄下的HomeController.vb控制器編輯一下
把原來的代碼改一下
''原代碼
Public Class HomeController
Inherits System.Web.Mvc.Controller
Function Index() As ActionResult
ViewData("Title") = "Home Page"
Return View()
End Function
End Class
新代碼
Public Class HomeController
Inherits Controller
Function Index() As String
Return "你好啊!WebAPI服務器"
End Function
End Class
運行看一下效果!!!!!!!
3.1,首先出場的是我們的FilterConfig.vb同學,正如名字,他就是一個過濾器的配置,即可以配置respond也可以配置request的內容
3.2,接下來就是我們的路由大俠了RouteConfig.vb,這里面可以配置MVC路由和API等相關路由
3.3,最后就是我們的主角WebApiConfig.vb配置API相關屬性和主路由
4.1 MVC控制器HomeController.vb繼承了MVC的控制器基類,不知我們的主角,但是可以配置一個主頁;
4.2 WebAPI控制器ValuesController.vb繼承了ApiController的控制器基類
4.3 我們再次運行一下項目,看一下WebAPI控制器的訪問,MVC控制已配置默認控制器Home啟動項目是,第一眼看到的即是!!!
4.3.1 看下我們的WebAPI路由,我們跟著訪問即可!!默認控制器是Values所以我們的地址是 localhost:63337/api/values/
4.3.2 得到的結果就是 value1 value2 的XML格式結果
4.4 可能有同學就會問了,怎么把返回的結果改成JSON格式呢?
只要在App_Start目錄下WebApiConfig.vb的配置文件里面添加以下代碼即可實現(xiàn)
'配置eb API返回JSON字符串
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
config.Formatters.Remove(config.Formatters.XmlFormatter)
Dim jsonFormatter As Object = config.Formatters.OfType(Of JsonMediaTypeFormatter)().First()
jsonFormatter.SerializerSettings.ContractResolver = New CamelCasePropertyNamesContractResolver()
再看一下返回的結果
代碼如下
Imports System.Net
Imports System.Web.Http
Public Class LoginController
Inherits ApiController
' GET api/login?
' <HttpGet> ''請求方式
' <ActionName("Token")> ''方法名稱
<AcceptVerbs("GET", "HEAD")> ''允許的請求方式
<Route("api/login/token")> ''自定義路由
Public Function GetToken(<FromUri()> uid As String, <FromUri()> pwd As String) As Object
If uid = "admin" And pwd = "123" Then
Return New Responobj With {
.Code = 200,
.Msg = "成功",
.Info = "登錄系統(tǒng)成功",
.Datas = Now().GetHashCode
}
Else
Return New Responobj With {
.Code = 400,
.Msg = "失敗",
.Info = "賬戶或密碼錯誤",
.Datas = Nothing
}
End If
End Function
''' <summary>
''' 定義一個返回體
''' </summary>
Public Class Responobj
Public Property Code As Integer
Public Property Msg As String
Public Property Info As String
Public Property Datas As Object
End Class
End Class
5.1 輸入錯誤賬戶密碼測試一下效果
5.2 輸入正確密碼看一下效果
到此結束啦!!
文章轉自微信公眾號@辦公魔盒