乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      初始WebApi(1)

       頭號碼甲 2021-04-04

      如果你要問我WebApi是干嘛,我只能說它是的給數(shù)據(jù)。哈哈哈哈哈,這幾天也才剛剛了解了解關(guān)于WebApi的知識,今天就來談?wù)劙伞?/p>

      1.創(chuàng)建WebApi項目

      第一步:選擇ASP.NET Web應(yīng)用程序

      第二步:選擇WebApi,記得要取消勾選Https配置,點擊創(chuàng)建

       第三步:創(chuàng)建完成后形成的項目結(jié)構(gòu)

      這里和ASP.NET MVC的目錄結(jié)構(gòu)看起來有點類似,其實還是有很大的不同的

      在這里View視圖其實不起什么作用。

      下面來看看目錄結(jié)構(gòu)中有什么東西。

       可以看到自動創(chuàng)建了兩個控制器分別是Home和Values(這里的Student和User是我自己創(chuàng)建的)

      進去看看。需要注意的是這里Home和下面介紹的Values是不同的控制器,哪里不同呢?等一下就知道啦

      Home控制器:

      Values控制器:

      與Home控制器最大的區(qū)別就在于繼承的控制器前者是Controller、后者是ApiController

      可以看到這里分別有幾個方法:Get(查詢)、Post(新增)、Put(修改)、以及Delete(刪除)

      [FromBody]在這里的作用就是只接受從data中傳遞過來的參數(shù),也就是其他傳參方法比如QueryString形式的方法無法獲取。

      為什么系統(tǒng)自動幫我們創(chuàng)建了這四個方法呢?

       1 using System;
       2 using System.Collections.Generic;
       3 using System.Linq;
       4 using System.Net;
       5 using System.Net.Http;
       6 using System.Web.Http;
       7 
       8 namespace Demo.Controllers
       9 {
      10     //WebAPI控制器
      11     public class ValuesController : ApiController
      12     {
      13         // GET api/values
      14         public IEnumerable<string> Get()
      15         {
      16             return new string[] { "value1", "value2" };
      17         }
      18 
      19         // GET api/values/5
      20         public string Get(int id)
      21         {
      22             return "value";
      23         }
      24 
      25         // POST api/values
      26         public void Post([FromBody]string value)
      27         {
      28         }
      29         //FromBody指定數(shù)據(jù)來源必須是data中的數(shù)據(jù)而不是從QueryString過來的
      30         // PUT api/values/5
      31         public void Put(int id, [FromBody]string value)
      32         {
      33         }
      34 
      35         // DELETE api/values/5
      36         public void Delete(int id)
      37         {
      38         }
      39     }
      40 }

      這里的原有還有追溯到創(chuàng)建WebApi項目的時候

      那就是RESTful HTTP服務(wù)模板

      通過RESTful語義定義的四個方法,可以通過ajax請求進行調(diào)用并獲得數(shù)據(jù)。

       下面我們?nèi)?chuàng)建一個普通的Html頁面和一個Student Api控制器以及一個Student類

      Student類:

       1 using System;
       2 using System.Collections.Generic;
       3 using System.Linq;
       4 using System.Web;
       5 
       6 namespace Demo.Models
       7 {
       8     public class Student
       9     {
      10         public int Id { get; set; }
      11         public string Name { get; set; }
      12     }
      13 }

      Student控制器方法:

      在注釋中我也備注了RESTful使用規(guī)則和約束

       1 using Demo.Models;
       2 using System;
       3 using System.Collections.Generic;
       4 using System.Linq;
       5 using System.Net;
       6 using System.Net.Http;
       7 using System.Web.Http;
       8 
       9 namespace Demo.Controllers
      10 {
      11     //WebAPI控制器
      12     public class StudentController : ApiController
      13     {
      14         /// <summary>
      15         /// Restful格式的數(shù)據(jù)提供方式 方法名要帶著Get
      16         /// Restful風(fēng)格節(jié)省了方法名的編寫,但是不適合~Login登錄、上傳 、修改頭像、點贊等業(yè)務(wù)功能的實現(xiàn)
      17         /// Restful只適合對某一個表的增刪改查
      18         /// </summary>
      19         /// <returns></returns>
      20         public Student Get()
      21         {
      22             return new Student() { Id = 1, Name = "黃朝" };
      23         }
      24         /// <summary>
      25         ///Get不能省略
      26         /// </summary>
      27         /// <param name="name"></param>
      28         /// <returns></returns>
      29         public string Get(string name)
      30         {
      31             return "參數(shù)是:" + name;
      32         }
      33 
      34         public string GetAddress(string addname) {
      35             return "地址參數(shù)是:" + addname;
      36         }
      37         /// <summary>
      38         /// 在這里post是做新增操作
      39         /// </summary>
      40         /// <param name="stu">學(xué)生對象</param>
      41         public void Post(Student stu)
      42         { 
      43             
      44         }
      45         /// <summary>
      46         /// 修改操作
      47         /// </summary>
      48         /// <param name="id">修改的id</param>
      49         /// <param name="stu">修改的對象</param>
      50         public void Put(int id,Student stu)
      51         { 
      52             
      53         }
      54         /// <summary>
      55         /// 刪除
      56         /// </summary>
      57         /// <param name="id">根據(jù)id的刪除</param>
      58         public void Delete(int id)
      59         { 
      60             
      61 
      62         }
      63     }
      64 }

      Html頁:

      根據(jù)type不同的參數(shù),調(diào)用后臺Api的數(shù)據(jù)??梢宰鳛閷ο髤?shù)傳遞也可以根據(jù)id作為參數(shù)傳遞

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8" />
          <title></title>
          <script src="Scripts/jquery-3.3.1.js"></script>
          <script>
              $.ajax({
                  url: "/api/Student",
                  type: "get"
              }).done(function (data) { console.log(data) })
      
              //$.ajax({
              //    url: "/api/Student",
              //    type: "post",
              //    data: {
              //        ID: 1,
              //        Name:"abc"
              //    }
              //}).done(function () {
              //    console.info("成功");
              //}).fail(function () {
              //    console.info("失敗");
              //})
      
              ///api/Student/1 1為Id
              //$.ajax({
              //    url: "/api/Student/1",
              //    type: "put",
              //    data: {
              //        ID: 12,
              //        Name:"lisi"
              //    }
              //}).done(function () {
              //    console.info("成功")
              //}).fail(function () {
              //    console.info("失敗")
              //})
      
              //$.ajax({
              //    url:"/api/Student/1"
              //    type: "delete"
              //}).done(function () {rl: "/api/Student/1",
              //    console.info("成功")
              //}).fail(function () {
              //    console.info("失敗")
              //})
      </script>
      </head>
      <body>
              
      </body>
      </html>

      以上就是我對初次了解WebApi的一個學(xué)習(xí)總結(jié),如果以上內(nèi)容存在不足或錯誤代碼,請指出,謝謝。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多