WebAPI學(xué)習(xí)一

一 什么是WebAPI

  • web:網(wǎng)頁(yè)
  • API:接口(一套別人封裝的屬性和方法)
  • webAPI:專門操作網(wǎng)頁(yè)的方法和屬性
萬物皆對(duì)象野瘦,在webAPI中把網(wǎng)頁(yè)中所有元素都當(dāng)成對(duì)象來處理

二 Restful

  • 在REST規(guī)則中渐溶,有兩個(gè)基礎(chǔ)概念:對(duì)象戈咳、行為
  • 對(duì)象就是我們要操作的對(duì)象疤孕,例如添加用戶的操作擅编,那么對(duì)象就是user
  • 行為有4種常用的:查看寝并、創(chuàng)建蜕猫、編輯寂曹、刪除
  • rest的提出者很巧妙的利用http現(xiàn)有方法來對(duì)應(yīng)這4種行為:
GET - 查看
POST - 創(chuàng)建
PUT - 編輯
DELETE - 刪除

三 學(xué)習(xí)Dome

  • 創(chuàng)建一個(gè)學(xué)生實(shí)體(Model)
 public class Students
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
  • 創(chuàng)建一個(gè)學(xué)生的控制器(Controllers)
public class StudentsController : ApiController
    {
    
        public List<Students> Get() {
            return new List<Students>() {
                new Students{ Id=1,Name="zhangsan1"},
                new Students{ Id=2,Name="zhangsan2"},
                new Students{ Id=3,Name="zhangsan3"},
                new Students{ Id=4,Name="zhangsan4"},
                new Students{ Id=5,Name="zhangsan5"},
            };
        }
        public string Get(String name)
        {
            return "你傳入的參數(shù)是" + name;
        }

        public void Post(Students stu) 
        { 
              throw new Exception("錯(cuò)了");
        }
        public void Put(int Id,Students stu) { 
        
        
        }
        public void Delete(int id) { 
        }
    }
  • 前端用Ajax請(qǐng)求Josn
        //get請(qǐng)求返回data數(shù)據(jù)
        $.ajax({
            url: "/api/Students?name=白晨星",
            type: "get"
        }).done(function (data) {
            console.log(data);
        })
        //post請(qǐng)求給存值
        $.ajax({
            url: "/api/Students",
            type: "post",
            data: {
                Id:1,
                Name:"wangwu"
            }
        }).done(function () {
            console.log("成功")

        }).fail(function () {
            console.log("失敗")
        })
        //put請(qǐng)求通過Id修改值
        $.ajax({
            url: "/api/Students/1",
            type: "Put",
            data: {
                Id: 12,
                Name:"白晨星"
            }
        })
        //delete請(qǐng)求通過Id刪除數(shù)據(jù)
        $.ajax({
            url: "/api/students/1",
            type: "delete",
        })


四 自定義

  • 創(chuàng)建一個(gè)user實(shí)體
 public class User
    {
        public string Admin { get; set; }
        public string Pwd { get; set; }
    }
  • 創(chuàng)建一個(gè)user的控制器
public class UserController : ApiController
    {
        [HttpPost]//沒有用restful風(fēng)格,需要自己定制用那種類型來處理
        [Route("Login")]
        public string Login(User  user) 
        {
            return "OK";
        }
        [HttpGet]
        [Route("Message")]
        public IHttpActionResult GetMessage() {
            //ok  200   //成功
            //notfound   404    
            //InternalServerError  500 服務(wù)器錯(cuò)誤
            // return InternalServerError(new Exception("nicuo l "));       
            return Ok(new Students()
            {
                Id = 80,
                Name = "及格了"
            });
        }
    }
  • Ajax處理
//根據(jù)自定義的url給服務(wù)器傳data數(shù)據(jù) 驗(yàn)證登錄賬號(hào)和密碼
 $.ajax({
            url: "/api/User/Login",
            type: "post",
            data: {
                Admin: "admin",
                Pwd:"123456"
            }
        })

        $.ajax({
            url: "/api/User/Message",
            type: "get",
        }).done(function (data) {
            console.log("成功了",data)
        })
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市隆圆,隨后出現(xiàn)的幾起案子漱挚,更是在濱河造成了極大的恐慌,老刑警劉巖渺氧,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旨涝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡侣背,警方通過查閱死者的電腦和手機(jī)颊糜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秃踩,“玉大人衬鱼,你說我怎么就攤上這事°狙睿” “怎么了鸟赫?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)消别。 經(jīng)常有香客問我抛蚤,道長(zhǎng),這世上最難降的妖魔是什么寻狂? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任岁经,我火速辦了婚禮,結(jié)果婚禮上蛇券,老公的妹妹穿的比我還像新娘缀壤。我一直安慰自己,他們只是感情好纠亚,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布塘慕。 她就那樣靜靜地躺著,像睡著了一般蒂胞。 火紅的嫁衣襯著肌膚如雪图呢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天骗随,我揣著相機(jī)與錄音蛤织,去河邊找鬼。 笑死鸿染,一個(gè)胖子當(dāng)著我的面吹牛指蚜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播牡昆,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼姚炕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了丢烘?” 一聲冷哼從身側(cè)響起柱宦,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎播瞳,沒想到半個(gè)月后掸刊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赢乓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年忧侧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牌芋。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚓炬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出躺屁,到底是詐尸還是另有隱情肯夏,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布犀暑,位于F島的核電站驯击,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏耐亏。R本人自食惡果不足惜徊都,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望广辰。 院中可真熱鬧暇矫,春花似錦、人聲如沸择吊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)干发。三九已至朱巨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枉长,已是汗流浹背冀续。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留必峰,地道東北人洪唐。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吼蚁,于是被迫代替她去往敵國(guó)和親凭需。 傳聞我的和親對(duì)象是個(gè)殘疾皇子问欠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,111評(píng)論 1 32
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,814評(píng)論 0 11
  • 1.abstract class 和interface 有什么區(qū)別? 抽象類可以有構(gòu)造方法 接口不行 抽象類可以有...
    sunnysans閱讀 859評(píng)論 0 1
  • 五十三:請(qǐng)解釋 JavaScript 中 this 是如何工作的。1.方法調(diào)用模式當(dāng)一個(gè)函數(shù)被保存為一個(gè)對(duì)象的屬性...
    Arno_z閱讀 581評(píng)論 0 2
  • Python程序員有很多很好的選擇來創(chuàng)建Web應(yīng)用程序和API粒蜈;Django顺献,Weppy,Bottle和Flask...
    顧家樂1020閱讀 648評(píng)論 0 4