簡單記錄在Visual Studio 2013中建立ASP.NET Web API 2

來源:互聯網
上載者:User

標籤:

  在很多跨平台的應用中就需要Web API ,比如android與資料庫的互動。

Create a Web API Project                                                                                                      

選擇建立項目下的模板下的Visual C#節點下的Web節點,在模板列表下選擇ASP.NET Web 應用程式,並命名為ChatApp就可以了。

建立ASP.NET項目下選擇Web API 點擊確定就可以了。

Adding a Model                                                                                                                       

在解決方案下建立一個Model

//建立Model Usernamespace APP_Chat.Models{    public class User    {        public string UID { get; set; }        public string LoginName { get; set; }        public string Name { get; set; }        public string Pwd { get; set; }         public DateTime CreateTime { get; set; }    }}
//建立Model ResponseLoginStatenamespace APP_Chat.Models{    public class ResponseLoginState    {        public User user { get; set; }        public int state { get; set; }        public string msg { get; set; }
    }}
// 建立Model RequestLoginnamespace APP_Chat.Models{    public class RequestLogin    {        public string LoginName { get; set; }        public string Pwd { get; set; }    }}

Adding a Controller                                                                                                                 

在解決方案下建立一個控制器

 

選擇一個空的模板即可

下面就添加控制器的名稱(Controller命名是有規範的,不能更改後面的Controller部分也不能在後門添加字元,不然都會導致最後無法訪問到這個Controller像這個Controller就是通過/api/ChatApp/訪問的,當然預設是Get的請求方式)

namespace APP_Chat.Controllers{    public class ChatAppController : ApiController    {        /// <summary>        /// 使用者登入        /// </summary>        /// <param name="user">使用者的登入名稱 - LoginName,密碼 - Pwd</param>        /// <returns>登入成功則返回使用者的資訊,和state=1</returns>   [HttpPost] http 請求方式         [HttpPost] 
        public ResponseLoginState Login(RequestLogin user)        {            if (string.IsNullOrWhiteSpace(user.LoginName))                return new ResponseLoginState() { state = 0, msg = "參數錯誤,LoginName未傳出!" };            if (string.IsNullOrWhiteSpace(user.Pwd))                return new ResponseLoginState() { state = 0, msg = "參數錯誤,Name未傳出!" };                        #region            using (var conn = new System.Data.OracleClient.OracleConnection(OracleHelper.ConnString))            {                conn.Open();                var command = conn.CreateCommand();                command.Parameters.Clear();                command.Parameters.Add(new OracleParameter(":loginName", user.LoginName));                command.Parameters.Add(new OracleParameter(":pwd", user.Pwd));                command.CommandText = "select * from APP_ChatUser where loginname=:loginName and pwd=:pwd";                var reader = command.ExecuteReader();                User loginuser = new User();                try                {                    reader.Read();                    loginuser.UID = reader["USERID"].ToString();                    loginuser.LoginName = reader["LOGINNAME"].ToString();                    loginuser.Name = reader["NAME"].ToString();                    loginuser.Pwd = reader["PWD"].ToString();                    loginuser.CreateTime = Convert.ToDateTime(reader["CreateTime"]);                    return new ResponseLoginState() { state = 1, msg = "success", user = loginuser };                }                catch (Exception ex)                {                    return new ResponseLoginState() { state = 0, msg = ex.Message, user = null };                }            }            #endregion        }   }}
 
通過訪問api/ChatApp/Login就可以訪問WebApi了
JavaScript來檢測WebApi                                                                   
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    <title></title>    <script src="Scripts/jquery-1.10.2.min.js"></script>    <script>        var user;                function login() {            $.ajax({                url: ‘/api/ChatApp/Login‘,                type: ‘POST‘,                dataType:‘JSON‘,                data: { LoginName: ‘zhangsan‘, Pwd: ‘123‘ },                success: function (data) {                    if (typeof (data) != ‘object‘)                        data = JSON.parse(data);                    user = data.Data.User;                    alert(JSON.stringify(data));                                   }            });        }    </script></head><body>    <input type="button" value="登入" onclick="login()" /></body></html>
如果有不清楚,可以參照下面的這個網址學習http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

簡單記錄在Visual Studio 2013中建立ASP.NET Web API 2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.