您的位置:首页 > 编程语言 > ASP

简单记录在Visual Studio 2013中创建ASP.NET Web API 2

2015-08-20 19:44 716 查看
在很多跨平台的应用中就需要WebAPI,比如android与数据库的交互。

CreateaWebAPIProject

选择新建项目下的模板下的VisualC#节点下的Web节点,在模板列表下选择ASP.NETWeb应用程序,并命名为ChatApp就可以了。





新建ASP.NET项目下选择WebAPI点击确定就可以了。





AddingaModel

在解决方案下新建一个Model

//新建ModelUser
namespaceAPP_Chat.Models
{
publicclassUser
{
publicstringUID{get;set;}
publicstringLoginName{get;set;}
publicstringName{get;set;}
publicstringPwd{get;set;}
publicDateTimeCreateTime{get;set;}

}
}
//新建ModelResponseLoginState
namespaceAPP_Chat.Models
{
publicclassResponseLoginState
{
publicUseruser{get;set;}
publicintstate{get;set;}
publicstringmsg{get;set;}
}
}
//新建ModelRequestLogin
namespaceAPP_Chat.Models
{
publicclassRequestLogin
{
publicstringLoginName{get;set;}
publicstringPwd{get;set;}
}
}

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

[/code]
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

AddingaController

在解决方案下新建一个控制器





选择一个空的模板即可





下面就添加控制器的名称(Controller命名是有规范的,不能更改后面的Controller部分也不能在后门添加字符,不然都会导致最后无法访问到这个Controller像这个Controller就是通过/api/ChatApp/访问的,当然默认是Get的请求方式)





namespaceAPP_Chat.Controllers
{
publicclassChatAppController:ApiController
{

///<summary>
///用户登录
///</summary>
///<paramname="user">用户的登录名-LoginName,密码-Pwd</param>
///<returns>登录成功则返回用户的信息,和state=1</returns>[HttpPost]http请求方式
[HttpPost]
publicResponseLoginStateLogin(RequestLoginuser)
{
if(string.IsNullOrWhiteSpace(user.LoginName))
returnnewResponseLoginState(){state=0,msg="参数错误,LoginName未传出!"};
if(string.IsNullOrWhiteSpace(user.Pwd))
returnnewResponseLoginState(){state=0,msg="参数错误,Name未传出!"};

#region
using(varconn=newSystem.Data.OracleClient.OracleConnection(OracleHelper.ConnString))
{
conn.Open();
varcommand=conn.CreateCommand();
command.Parameters.Clear();
command.Parameters.Add(newOracleParameter(":loginName",user.LoginName));
command.Parameters.Add(newOracleParameter(":pwd",user.Pwd));
command.CommandText="select*fromAPP_ChatUserwhereloginname=:loginNameandpwd=:pwd";
varreader=command.ExecuteReader();
Userloginuser=newUser();
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"]);
returnnewResponseLoginState(){state=1,msg="success",user=loginuser};
}
catch(Exceptionex)
{

returnnewResponseLoginState(){state=0,msg=ex.Message,user=null};
}
}
#endregion
}
}
}
通过访问api/ChatApp/Login就可以访问WebApi了
JavaScript来检测WebApi
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title></title>
<scriptsrc="Scripts/jquery-1.10.2.min.js"></script>
<script>
varuser;

functionlogin(){
$.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>
<inputtype="button"value="登录"onclick="login()"/>
</body>
</html>
如果有不清楚,可以参照下面的这个网址学习http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: