超碰91资源站-超碰97豆花-超碰97人妻-超碰97人人干-超碰97人人香蕉-超碰97天天操-超碰97在线资源站-超碰97资源站共享-超碰97资源站总站-超碰aa在线91-超碰av操-超碰爱爱

半岛外围网上直营

如何使用ASP.NET Core創(chuàng)建Web API(下)

翻譯|使用教程|編輯:陳津勇|2019-08-28 14:49:37.833|閱讀 603 次

概述:Visual Studio 2019具有ASP.NET和Web開發(fā)工作負(fù)載,那么如何使用VS 2019創(chuàng)建一個(gè)Web項(xiàng)目呢?

# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

上篇中,小編為大家介紹了在使用Visual Studio 2019創(chuàng)建Web項(xiàng)目過程中測試API、添加模型類、添加數(shù)據(jù)庫上下文、注冊數(shù)據(jù)庫上下文、添加控制器等步驟的方法和相關(guān)代碼,本文將繼續(xù)介紹在創(chuàng)建Web過程中會(huì)使用的其他步驟。

為形成完整、連貫的操作步驟,請點(diǎn)擊此處閱讀更多。

點(diǎn)擊下載Visual Studio試用版

返回值

GetTodoItems和GetTodoItem方法的返回類型是ActionResult <T>類型。ASP.NET Core自動(dòng)將對象序列化為JSON,并將JSON寫入響應(yīng)消息的正文中。假設(shè)沒有未處理的異常,此返回類型的響應(yīng)代碼為200。未處理的異常被轉(zhuǎn)換為5xx錯(cuò)誤。

ActionResult返回類型可以表示各種HTTP狀態(tài)代碼。例如,GetTodoItem可以返回兩個(gè)不同的狀態(tài)值:

  • 如果沒有項(xiàng)與請求的ID匹配,則該方法返回404 NotFound錯(cuò)誤代碼。

  • 否則,該方法返回帶有JSON響應(yīng)體的200。返回項(xiàng)目將導(dǎo)致HTTP 200響應(yīng)。

測試GetTodoItems方法

本教程使用Postman來測試Web API。

  • 從文件>設(shè)置(常規(guī)選項(xiàng)卡),禁用SSL證書驗(yàn)證。

  • 創(chuàng)建一個(gè)新請求。

    將HTTP方法設(shè)置為GET

    將請求URL設(shè)置為//localhost:<port>/api/todo。例如,//localhost:5001/api/todo。

  • 在Postman中設(shè)置兩個(gè)窗格視圖。

  • 選擇發(fā)送。

2pv.png

添加Create方法

PostTodoItem在Controllers / TodoController.cs中添加以下方法:

// POST: api/Todo
[HttpPost]
public async Task<ActionResult<TodoItem>> PostTodoItem(TodoItem item)
{
    _context.TodoItems.Add(item);
    await _context.SaveChangesAsync();

    return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item);
}

上面的代碼是HTTP POST方法,由[HttpPost]屬性表示。該方法從HTTP請求的主體獲取to-do項(xiàng)的值。

CreatedAtAction方法:

如果成功,返回HTTP 201狀態(tài)碼。HTTP 201是HTTP POST方法的標(biāo)準(zhǔn)響應(yīng),該方法在服務(wù)器上創(chuàng)建新資源。

Location為響應(yīng)添加標(biāo)頭。該Location頭指定新創(chuàng)建待完成項(xiàng)目的URI。

引用GetTodoItem創(chuàng)建Location標(biāo)頭URI的操作。C#nameof關(guān)鍵字用于避免在CreatedAtAction調(diào)用中對操作名稱進(jìn)行硬編碼。

// GET: api/Todo/5
[HttpGet("{id}")]
public async Task<ActionResult<TodoItem>> GetTodoItem(long id)
{
    var todoItem = await _context.TodoItems.FindAsync(id);

    if (todoItem == null)
    {
        return NotFound();
    }

    return todoItem;
}

測試PostTodoItem方法

  • 建立項(xiàng)目

  • 在Postman中,將HTTP方法設(shè)置為POST

  • 選擇“ 正文”選項(xiàng)卡

  • 選擇原始單選按鈕

  • 將類型設(shè)置為JSON(application / json)

在請求正文中輸入待辦事項(xiàng)的JSON:

{
  "name":"walk dog",
  "isComplete":true
}
  • 選擇發(fā)送

create.png

如果您收到405 Method Not Allowed錯(cuò)誤,可能是因?yàn)樵谔砑覲ostTodoItem方法后未編譯項(xiàng)目。

測試位置標(biāo)頭URI

  • 在“ 響應(yīng)”窗格中選擇“ 標(biāo)題”選項(xiàng)卡。

  • 復(fù)制Location標(biāo)頭值:

pmc2.png

添加PutTodoItem方法

添加以下PutTodoItem方法:

// PUT: api/Todo/5
[HttpPut("{id}")]
public async Task<IActionResult> PutTodoItem(long id, TodoItem item)
{
    if (id != item.Id)
    {
        return BadRequest();
    }

    _context.Entry(item).State = EntityState.Modified;
    await _context.SaveChangesAsync();

    return NoContent();
}

PutTodoItem類似于PostTodoItem,除了它使用HTTP PUT,回復(fù)是204(無內(nèi)容)。根據(jù)HTTP規(guī)范,PUT請求要求客戶端發(fā)送整個(gè)更新的實(shí)體,而不僅僅是更改。

如果您在調(diào)用PutTodoItem時(shí)出錯(cuò),請調(diào)用get以確保數(shù)據(jù)庫中有一個(gè)條目。

測試PutTodoItem方法

這個(gè)示例使用內(nèi)存中的數(shù)據(jù)庫,該數(shù)據(jù)庫必須在每次啟動(dòng)應(yīng)用程序時(shí)初始化。在執(zhí)行PUT調(diào)用之前,數(shù)據(jù)庫中必須有一個(gè)項(xiàng)。

更新id=1的待辦事項(xiàng),并將其名稱設(shè)置為“feed fish”:

{
    "ID":1,
    "name":"feed fish",
    "isComplete":true
  }

下圖顯示了Postman更新:

pmcput.png

添加DeleteTodoItem方法

添加以下DeleteTodoItem方法:

// DELETE: api/Todo/5
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteTodoItem(long id)
{
    var todoItem = await _context.TodoItems.FindAsync(id);

    if (todoItem == null)
    {
        return NotFound();
    }

    _context.TodoItems.Remove(todoItem);
    await _context.SaveChangesAsync();

    return NoContent();
}

DeleteTodoItem響應(yīng)是204(沒有內(nèi)容)。

測試DeleteTodoItem方法

使用Postman刪除待辦事項(xiàng):

  • 將方法設(shè)置為DELETE

  • 例如,設(shè)置要?jiǎng)h除的對象的URI //localhost:5001/api/todo/1

  • 選擇發(fā)送

示例應(yīng)用程序允許您刪除所有項(xiàng)目。但是,當(dāng)刪除最后一項(xiàng)時(shí),下次調(diào)用API時(shí),模型類構(gòu)造函數(shù)會(huì)創(chuàng)建一個(gè)新項(xiàng)。

使用jQuery調(diào)用API

在本節(jié)中,添加了一個(gè)使用jQuery調(diào)用web api的HTML頁面,jQuery啟動(dòng)請求并使用API響應(yīng)中的詳細(xì)信息更新頁面。

將應(yīng)用程序配置為提供靜態(tài)文件,并通過使用以下突出顯示的代碼更新Startup.cs來啟用默認(rèn)文件映射:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        // The default HSTS value is 30 days. You may want to change this for 
        // production scenarios, see //aka.ms/aspnetcore-hsts.
        app.UseHsts();
    }

    app.UseDefaultFiles();
    app.UseStaticFiles();
    app.UseHttpsRedirection();
    app.UseMvc();
}

在項(xiàng)目目錄中創(chuàng)建wwwroot文件夾。

將名為index.html的HTML文件添加到wwwroot目錄中。用以下標(biāo)記替換其內(nèi)容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>To-do CRUD</title>
    <style>
        input[type='submit'], button, [aria-label] {
            cursor: pointer;
        }

        #spoiler {
            display: none;
        }

        table {
            font-family: Arial, sans-serif;
            border: 1px solid;
            border-collapse: collapse;
        }

        th {
            background-color: #0066CC;
            color: white;
        }

        td {
            border: 1px solid;
            padding: 5px;
        }
    </style>
</head>
<body>
    <h1>To-do CRUD</h1>
    <h3>Add</h3>
    <form action="javascript:void(0);" method="POST" onsubmit="addItem()">
        <input type="text" id="add-name" placeholder="New to-do">
        <input type="submit" value="Add">
    </form>

    <div id="spoiler">
        <h3>Edit</h3>
        <form class="my-form">
            <input type="hidden" id="edit-id">
            <input type="checkbox" id="edit-isComplete">
            <input type="text" id="edit-name">
            <input type="submit" value="Save">
            <a onclick="closeInput()" aria-label="Close">&#10006;</a>
        </form>
    </div>

    <p id="counter"></p>

    <table>
        <tr>
            <th>Is Complete</th>
            <th>Name</th>
            <th></th>
            <th></th>
        </tr>
        <tbody id="todos"></tbody>
    </table>

    <script src="//code.jquery.com/jquery-3.3.1.min.js"
            integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
            crossorigin="anonymous"></script>
    <script src="site.js"></script>
</body>
</html>

將名為site.js的JavaScript文件添加到wwwroot目錄中。用以下代碼替換其內(nèi)容:

const uri = "api/todo";
let todos = null;
function getCount(data) {
  const el = $("#counter");
  let name = "to-do";
  if (data) {
    if (data > 1) {
      name = "to-dos";
    }
    el.text(data + " " + name);
  } else {
    el.text("No " + name);
  }
}

$(document).ready(function() {
  getData();
});

function getData() {
  $.ajax({
    type: "GET",
    url: uri,
    cache: false,
    success: function(data) {
      const tBody = $("#todos");

      $(tBody).empty();

      getCount(data.length);

      $.each(data, function(key, item) {
        const tr = $("<tr></tr>")
          .append(
            $("<td></td>").append(
              $("<input/>", {
                type: "checkbox",
                disabled: true,
                checked: item.isComplete
              })
            )
          )
          .append($("<td></td>").text(item.name))
          .append(
            $("<td></td>").append(
              $("<button>Edit</button>").on("click", function() {
                editItem(item.id);
              })
            )
          )
          .append(
            $("<td></td>").append(
              $("<button>Delete</button>").on("click", function() {
                deleteItem(item.id);
              })
            )
          );

        tr.appendTo(tBody);
      });

      todos = data;
    }
  });
}

function addItem() {
  const item = {
    name: $("#add-name").val(),
    isComplete: false
  };

  $.ajax({
    type: "POST",
    accepts: "application/json",
    url: uri,
    contentType: "application/json",
    data: JSON.stringify(item),
    error: function(jqXHR, textStatus, errorThrown) {
      alert("Something went wrong!");
    },
    success: function(result) {
      getData();
      $("#add-name").val("");
    }
  });
}

function deleteItem(id) {
  $.ajax({
    url: uri + "/" + id,
    type: "DELETE",
    success: function(result) {
      getData();
    }
  });
}

function editItem(id) {
  $.each(todos, function(key, item) {
    if (item.id === id) {
      $("#edit-name").val(item.name);
      $("#edit-id").val(item.id);
      $("#edit-isComplete")[0].checked = item.isComplete;
    }
  });
  $("#spoiler").css({ display: "block" });
}

$(".my-form").on("submit", function() {
  const item = {
    name: $("#edit-name").val(),
    isComplete: $("#edit-isComplete").is(":checked"),
    id: $("#edit-id").val()
  };

  $.ajax({
    url: uri + "/" + $("#edit-id").val(),
    type: "PUT",
    accepts: "application/json",
    contentType: "application/json",
    data: JSON.stringify(item),
    success: function(result) {
      getData();
    }
  });

  closeInput();
  return false;
});

function closeInput() {
  $("#spoiler").css({ display: "none" });
}

可能需要更改ASP.NET Core項(xiàng)目的啟動(dòng)設(shè)置才能在本地測試HTML頁面:

  • 打開Properties \ launchSettings.json。

  • 刪除launchUrl屬性,強(qiáng)制應(yīng)用程序在index打開html-項(xiàng)目的默認(rèn)文件。

下面是對API調(diào)用的解釋。

獲取待辦事項(xiàng)列表

jQuery ajax函數(shù)向API發(fā)送GET請求,API返回表示待辦事項(xiàng)數(shù)組的JSON。如果請求成功,則調(diào)用success回調(diào)函數(shù)。在回調(diào)中,DOM將使用to-do信息進(jìn)行更新。

$(document).ready(function() {
  getData();
});

function getData() {
  $.ajax({
    type: "GET",
    url: uri,
    cache: false,
    success: function(data) {
      const tBody = $("#todos");

      $(tBody).empty();

      getCount(data.length);

      $.each(data, function(key, item) {
        const tr = $("<tr></tr>")
          .append(
            $("<td></td>").append(
              $("<input/>", {
                type: "checkbox",
                disabled: true,
                checked: item.isComplete
              })
            )
          )
          .append($("<td></td>").text(item.name))
          .append(
            $("<td></td>").append(
              $("<button>Edit</button>").on("click", function() {
                editItem(item.id);
              })
            )
          )
          .append(
            $("<td></td>").append(
              $("<button>Delete</button>").on("click", function() {
                deleteItem(item.id);
              })
            )
          );

        tr.appendTo(tBody);
      });

      todos = data;
    }
  });
}

添加待辦事項(xiàng)

AJAX功能發(fā)送POST與請求體待辦事項(xiàng)項(xiàng)目請求。accept和contentType選項(xiàng)設(shè)置為application/json,以指定接收和發(fā)送的媒體類型。通過使用JSON.stringify將待辦事項(xiàng)轉(zhuǎn)換為JSON。當(dāng)API返回成功的狀態(tài)代碼時(shí),將調(diào)用getData函數(shù)來更新HTML表。

function addItem() {
  const item = {
    name: $("#add-name").val(),
    isComplete: false
  };

  $.ajax({
    type: "POST",
    accepts: "application/json",
    url: uri,
    contentType: "application/json",
    data: JSON.stringify(item),
    error: function(jqXHR, textStatus, errorThrown) {
      alert("Something went wrong!");
    },
    success: function(result) {
      getData();
      $("#add-name").val("");
    }
  });
}

更新待辦事項(xiàng)

更新待辦事項(xiàng)類似于添加待辦事項(xiàng)。url將更改為添加項(xiàng)的唯一標(biāo)識符,并放入類型。

$.ajax({
  url: uri + "/" + $("#edit-id").val(),
  type: "PUT",
  accepts: "application/json",
  contentType: "application/json",
  data: JSON.stringify(item),
  success: function(result) {
    getData();
  }
});

刪除待辦事項(xiàng)

刪除待辦事項(xiàng)是通過type在AJAX調(diào)用上設(shè)置DELETE并在URL中指定項(xiàng)目的唯一標(biāo)識符來完成的。

$.ajax({
  url: uri + "/" + id,
  type: "DELETE",
  success: function(result) {
    getData();
  }
});



想要了解 Visual Studio 更多資源的伙伴,請點(diǎn)這里。

想要獲取 Visual Studio 正版授權(quán)的伙伴,


標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn


為你推薦

  • 推薦視頻
  • 推薦活動(dòng)
  • 推薦產(chǎn)品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
利記足球官網(wǎng)(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 真人boyu·博魚滾球網(wǎng)(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 最大網(wǎng)上PM娛樂城盤口(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 正規(guī)雷火競技官方買球(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 雷火競技權(quán)威十大網(wǎng)(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) boyu·博魚信譽(yù)足球官網(wǎng)(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 權(quán)威188BET足球網(wǎng)(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 正規(guī)188BET足球大全(官方)網(wǎng)站/網(wǎng)頁版登錄入口/手機(jī)版登錄入口-最新版(已更新) 成人午夜亚洲精品在线网站 | 国产一区欧美日韩 | 东京热加勒比国产精品 | 国产午夜精品一区二区三区不卡 | 成人丝袜激情一区二区 | 91高清色网一二三区 | 成人综合在线视频免费观看 | 91精品欧美激情在线播放 | 国产成人免费高清直播软件 | 国产aⅴ无码精品一区二区 国产aⅴ无码精品一区二区三区 | 国产无码精品在 | 国产精品户外野外亚洲av又 | 国产肥妇无码精品视频 | 国产一级无码片在线观看 | 精品亚洲av乱码一区二区 | 国产主播在线喷水白浆 | 福利一区二区三区视 | 国产成人av无码片在线观看 | 国产精品白嫩在线观看 | av一级在线观看 | 精品无码人妻夜 | 国产三级国产精品国产国在线观看 | 精品国产性色无码av网站 | 国产精品白浆无码流出在线观看 | 国产精品午夜 | 国产成人免费永久播放视频平台 | 91福利国产在线观看网站 | 精品久久无码人妻中文字幕 | 丰满少妇一级毛片在 | 国产中文在线观 | 国产精品亚洲一区二区久久 | 岛国毛片一级一级特 | 91极品尤物18禁国产在线播放 | 国产在线高清一级毛片 | 国产欧美激情一区二区三区 | 东京热无码av一区 | 91婷婷日本欧美一区二区三区 | 国产99久久6男男 | av人摸人人人 | 国产毛片在线看 | 2025久久国自产拍 | 精品国产一区二区三区不 | 成人无码在线视频网站 | va一区二区三区 | 99国产综合| av片日韩一区二区三区在线观看 | 国产99久久久欧美黑人 | 国产成人精品亚洲高清在线 | 国产尤物在线观看不卡 | 国产波霸爆乳一区二区 | 国产成人mv在线观看 | 91久久国产综合精品女同国语 | 国产欧美日韩一区二区三区在线 | 国产主播一区三区在线 | 91免费电影| 91寡妇天天综合久久影院 | 国产尤物在线观看无码不卡 | 极品尤物国产在线播放 | 东京热无码人妻一区二区三av | 国产精品入口免费软件 | 精品91自产拍在线观看一 | 国产福利午夜波多野结衣 | 国产精品亚洲片在线观看 | 国产福利萌白酱精品tv一区 | 国产不卡在线观看视频 | 91精品国产麻豆国产自产在线 | 国产一区二区三区色婬影院 | 国内熟妇二区三区在线 | 国产高清精品福利私拍国产 | 国产午夜在线视频 | 2025精品国产自在现线看 | 国产精品嫩草影院一二三区入口 | 国产精品无码一区二区三区 | 国产亚洲欧美日韩在线观看一区 | 国产毛片健身在线 | 91在线视频免费观看 | 国产av一区二区精品久久凹凸 | 国产成人一区二区在线 | 国产精品老汉av | 国产日韩激情综合一区 | 国产精品福利在线观看免费 | 国产区女主播在线观看 | 国产午夜小视 | 国产在线线精品 | 国产精品无码污污污免费网站 | 国产无码一区二区三区不卡视频 | 国产一区二区电影在线观看 | 国产女主播喷水视频在线观看 | 国产精品成人麻烦视频 | 国产精品无码专区在线播放 | 国产放荡av剧情演绎麻豆 | 91在线无码精品秘入口九色 | 国产系列丝袜熟女精品网站 | 丰满人妻无码aⅴ一区二区 丰满人妻系列无码专区 | 高清国产一区 | 成人综合色在线 | 国产精品入口免费软件 | 高清无码免费观看 | 国产二级一片内射视频播放 | 国产精品一区二区日韩91 | 国产微拍一区二区三区四区 | 国产aⅴ无码专区久久精品国产 | 国产成人无码播放 | 99精品免费看久久 | 国产aⅴ精品一区二区三区 国产aⅴ精品一区二区三区久 | 国自产拍视频在线网站 | 国产成视频在线观看 | 国产寡妇树林野 | 国产三级国产精品国产国在线观看 | 国产在线观看一区二区三区精品 | 91久久久久无码国产精品一区99 | 国产91综合久久 | 激情欧美经典日韩 | 国产在线手机视频时看 | a级毛片在线免费 | 高h短篇辣肉各种姿势自慰h | 国产99久久九九精品免费 | 国产午夜福利在线不卡视频 | 国产精品va无码免费麻豆 | 国产日韩不卡免费精 | 国产一级性爱免费片 | av无码网址 | 国产综合a级片视频 | 91人妻视频 | 精品白丝av网站在线观看 | 精品国产亚洲第一区二 | 成人毛片视频在线观看免费 | 99久久一区二区三区免费 | 国产aⅴ无码专区久久精品国产 | 99久久精品毛片免 | 91国内自产精华天堂 | 精品三级久久久久电影网 | 国产超碰97人人做人人爱 | 国产一区二区在线观看动漫 | 国产福利一区二区精品秒拍 | 国产成人年无码av片在线观看 | 91蜜桃国产 | 国产午夜亚洲精品午夜鲁丝片 | 国产蜜臀av在线一区尤物 | jk制服美女高潮中出视频 | 国产精品偷伦视频免费观看 | 不卡无码在线免费 | 国内无码专区在线视频 | 国产精品va尤物在线观看蜜芽 | 国产午夜精品理论片久久影院 | 国产一区二区精品在线观看 | 国产私人尤物无码不卡 | 国产精品制服丝袜欧美 | 白丝jk女仆爆乳自慰喷水 | 国产aⅴ日本一区二区三区 国产aⅴ视频一区二区三区 | 国产剧mv免费软件麻花豆传煤 | 国产福利无码一区二区在线不 | 国产一区二区免费精品 | 国产欧美va天 | 国产精品黄片亚洲成人毛片 | 国产成人无码免费看片软 | 国产视频一区二区在线观看 | 国产精品tv在线麻豆 | 国产精品免费不卡无码av | 国产精品午夜激爽毛 | 黑人巨大精品欧美一区二区.. | 国产成年无码aⅴ片在线韩国 | 国产一区二区电影 | 国产三级综合视频在线播放 | 国产三级xxxxx在线观看 | 国内精品无码视频免费 | 国产超碰人人做人人爽av动图 | 国产精品成久久久久三级 | 国产激情无码视频在线播放性 | 国产成人www免费人 国产成人www免费人成看片 | 国产巨大爆乳在线观看 | 国产尤物无毒不卡 | 国产午夜福利在线永久视频 | 国产成人免费永久播放视频平台 | 国产成人午夜福利在线观看 | 精品亚洲zw喷水在线播放 | 国产精品另类激情久久久免 | 国产人妻精品一区二区三区不卡 | 国产黄a大片真人免费视频 国产黄a级三级三级看三级 | 国产99福利 | 精品视频一区二区三区四区五区 | 69久蜜桃人妻无码精品一区 | 国产精品九九久久精 | 国产精品va无码免费 | 高清国产一级精品毛片基地 | 国产精品色婷婷视频 | 国产精品麻豆一区二区三区v视界 | 国产成人愉拍免费视频 | 国产日韩亚洲欧美综合另类 | 国产成人女人毛片 | 国产成人久久av免费看澳门 | 精品视频一区二区三区中文字幕 | 91人妻无码一区二区免费 | 国产成人麻豆精品午夜福利在 | 国产精品偷伦免费视频观看的 | 国产人妻久久精品一区二 | 国产尤物精品无码成人 | 国产精品无码久久aⅴ裸体 国产精品无码久久av | 丰满人妻被公侵犯日本 | 国产一区二区四区在线观看 | 白丝情趣av网站 | 国产在线播放精品一区二区 | 国产欧洲一区二区在线观看 | 国产色精品久久人妻无码看片软件 | 国产麻豆剧 | 国产在线播放精品一区二区 | 国产成人一区二区三区毛片 | 国产精品国产免费无码专区蜜桃 | 国产成人综合欧美视频 | 国产日韩一区美利坚 | 国产经典aⅴ三级观看 | 国产波霸爆乳一区二区黄色 | 99成人精品一区二区 | 国产中文字幕1在线观看 | 国产成人亚洲精品91专区 | 国产午夜福利短视频在线观看 | 国产成人黄色网站视频在线观看 | 国产精品无码av在线播放 | 国产亚洲成av片在线观看 | 18禁无码动漫在线播放 | 极品萝在线永久视频欧美 | 国产亚洲成归v人片 | 风流老熟女一区二区三区 | 国产精品成人一区二 | 国产爆操美女五月天 | 国产精品日韩欧美在线观看 | 国产精品日本一区二区不卡视频 | 国产成成视频在线观看 | 国产av一区二区三区日 | 91久久久久精品无嫩草影院 | 99精品网站 | 91美女片黄在线观看 | 国产成人无码电影在线观看 | 2025露脸国产偷人在视频 | 国产aaa免费视频国产 | 91久久久精品无码一区二 | 国产三级在线免费观看 | 国产成人免费高 | 国产高清午夜成人在线观看 | 国产精品人成在线 | 精品无人国产偷自产在线日本 | 国产爆乳无码视频在线观 | 国产激情91 | 2025精品国产综合久久 | 69国产成人综合久久精品 | 国产小视频精品一区二区三区 | 国产97碰久久免费视频 | 91亚洲精品国产自 | 99久久精品爆乳 | 国产欧美二区三区 | 国语高清在线视频二区 | 国产精品欧美一区久久 | 爆乳美女脱内衣18禁裸露网站 | 国产制服丝袜你懂的 | 国产福利无码一区二区在线不 | 东京热男人的天堂精品 | 国产自在自线午夜精品视频在 | 国产欧美亚洲三区久在线观看 | 国产在线观看在线播出 | 精品私库av在线 | 国产在线小视频午夜三区 | 国产精品乱码在线观看av | 99久久无色码 | 国产一区视频在线观看 | av在线三级毛片 | 国产精品日韩精 | 国产成人精品午夜在线观看 | 高潮毛片无遮挡高清视频播放 | 91精品云霸高清中文字幕 | 国产一区二区三区在线看 | 国产在线精品一区二 | 成年女人毛片免费视频播放 | 91成人网 | 国产精品欧美久久久久无广告 | 国产欧美日韩视频在线观看一区二 | 精品无人区乱码一区2区3区 | 国产高清无码在线 | 国产精品内射久 | 国产激情无码久久 | 国产精品一区二区剧情熟女 | 国产成人综合亚洲av | 国产91麻豆免费观看 | 91麻豆产精品久久久 | 成人国产亚洲欧美成人综合网 | 精品久久久久久久自慰 | 国产精品一区二区在线观看99 | 精品人妻一区二区三区曰产乱码 | 国产精品国三级国产av视色 | 国产午夜在线视频观看 | 国产午夜精品一区二区三区不 | 国产午夜福利电影一区二区三区 | 国产成人福利美女观看视频 | 国产精品一区欧美日韩制 | 国产三级精品三级在线专1 国产三级精品三级在线专区 | 国产在线a视频 | 福利国产精品 | 福利片无码 | 国产一区二区无码区 | 3d动漫精品啪啪一区二区中 | 91亚洲自偷手 | 国产91精品久久久久久久 | 国产精品免费久久久久软件 | 国产午夜激无码v毛 | 国产三级精品专区欧美激情福利 | 国产成人秘在线 | 2025国产最新盗摄在线播放 | 国产精品免费αv视频 | 潮喷无码 | 国产成人精品久久 | 国产成人精品免费视频大全 | 精品国产毛片va一区二区三区 | 国产尤物高清 | 国产在线观看片a免费观看 国产在线观看片免费人成视频 | 精品美女一级一区二区三 | 国语对白一区二区三区 | 国产午夜无码精品 | 99久久国产综合精品麻豆导演 | 国产三级aⅴ在线观看 | 国产喷水大秀在线观看2025 | 国产无码视频在线播放 | 国产精品成人自产拍在线观看 | 不卡国产在线看h | 国产成人综合在线视频vr | 国产精品亚洲视频在线观看 | 变态调教无码专区在线观看 | 成人综合国产精品 | 国内偷自第一区二区三区 | 国产成人精品亚洲日本语言 | 国产av高清无码自慰操射 | 国产三级电影经典在线看 | 国产精品一区二区三区四区五区 | 成人av精品一区二区三区四区 | 成在线观看网站免费观看 | 18禁黄网站无码 | 国产欧美亚洲中文字幕 | 国产亚洲欧洲日韩在线91区 | 国产麻豆a一级毛片爽爽影院 | 国产日韩欧美精品一二三四 | 91精品无码中文字幕在线 | 国产极品精品自在线 | 国产+欧美日韩+ | 成人日韩欧美在线视频播放 | 国产精品亚洲v毛片一区二区三区 | 91久久九九亚洲一区二区 | 国内国精产品一二三区传媒 | 动漫精品中文字幕无码第一页 | 国产高清国际精品福利色噜噜 | 按摩师玩弄到潮喷在线播放 | 国产成人手机高清在线观看网站 | 国产成人精品无码在线观看0 | 91精品综合在线视频 | 爆乳邻居中文字幕 | 99国产精品无码久久久久 | 精品国产人妻一区二区三区 | 高h猛烈失禁潮喷a片在线播放 | 91精品无码一区二区三区色噜噜 | 国产主播福利一二区在线观看 | 91尤物在线一区二区三区 | 国产精品成久久久久三级无码 | av亚欧洲日产国码无码 | 国产精品va在线观看蜜臀 | 国产精品久久久久久亚洲毛片 | 国色天香卡一卡2卡3卡4卡5 | 国产精品丝袜久久久久久不卡 | 精品国产96亚洲一区二区三区 | 国产精品一级黄色视频 | 国产69精品久久久久99尤物 | 囯产精品一品二区三区 | 国产无套粉嫩白浆在 | 国产人妻无码一区二区三区 | 国产大片黄在线观看私人影 | 2025在线精品自偷自拍无码 | 精品久久久久久无码人妻中文字幕 | 国产一区二区二区无码网站 | 国产高清在线视频 | 国产成人无码av在线影院 | 丰满少妇三级全黄 | 国产在线视频无码台湾 | 丰满东北老熟女 | 国产精品午夜福利免费 | 高清无码一区二区在线观看吞精 | 国产精品好男人在线 | 国产精品无码一本 | 国产无套乱子伦精彩无码视频 | 国产成人网站免费在 | 国产成人无码a在线观 | 精品国产一区二区三区久久久蜜 | 国产成人无码a区在线观看视频免费 | 国产在线观看无遮挡无码aⅴ多 | 国产尤物av尤物 | 97色精品 | 国产成人深夜福利在线观 | 国产精品亚洲综合的第一页 | 99尹人香蕉国产免费天天 | 国产精品毛片久久久久久久 | 91久久精品一区二区三区 | 国产一区二区三区精品综合 | 国产不卡一区 | 国产中文字幕乱人伦在线 | 国产午夜精品1区2区3福利 | 97人妻碰碰视频 | 国产成人麻豆亚洲综合无码精 | 国产成人无码aⅴ片在线图 国产成人无码aa | 91国偷自产一区二区三区蜜臀 | 国产va免费观看 | 91精品成人a在线观看 | 国产一区美女视频 | 国产白嫩在 | 国产一区二区精品久久岳 | 国产精品欧美一区二区在线看 | 国产探花在线精品一区二区 | 国产91丝袜在线播放九色 | 国产精品无码久久专区 | 国产不卡高清 | 精品国产一区二区久久久蜜臀 | 精品国产自在91欧 | 国产精品国产免费无码专区不卡 | 国产成人精品午夜视频免费 | 国产无码第一页国产视频在 | 国产精品无码午夜福利 | 国产成人片在线观看视频 | 成人无码精品一区二区在线观看 | 国产亚洲欧美日韩在线天堂区 | 成人一区在线观看 | 国产种子在线看网站在线观看 | 国产成人精品免费视频大全麻 | 韩国午夜福利理论片在线观看 | 国产一区二区三区在线水蜜桃 | 国产精品制服丝袜美 | 国产成人精品久久在线 | 国产精品久久久久久久妇丈 | 高清无码专区av | 国产高清在线精品一区小说 | 国产精品乱码在线观看av | 91精品国产高清久久福利 | 国产成人精品自在钱拍 | 国产在线视频不卡一视频大全 | 国产免费高清综合视频 | 国产一区二区三区不卡在线 | 国产一级久久久免费看 | 91av视频导航 | 91蜜桃麻豆媒体成人影院 | 动漫精品一区二区无码 | 国产三级在线播放放视频 | 国产一级毛片aaa高级a大片 | a级一级毛片大全视频 | 国产高清乱码又大又圆 | 国产成a人片在线观看 | 国产成人无码视频一区二区三 | 国产成人无码免费看片软件 | 91精品国产秘入口动漫 | 成人欧美一区二区三区黑人孕妇 | 国产精品无码久久久 | 国产精品高清一区二区三区不卡 | 2025日本三级理论影院 | 18禁高清无遮挡一 | 国产成人久久精品毛片 | av色国产色拍 | 国产无套护士丝袜在线观看 | 精品视频一区二区三三区 | 国产午夜无码精品免费看动漫 | 国产三级在线播放放视频 | 国产欧美另类精品又又久久 | 国产精品国产三级国产专i 国产精品国产三级国产专播 | 国产成人av大片大片在线播放 | 国产成人a在线观看视频免费 | 国产专区日韩精品欧美色 | www夜片内射视频在观看视频 | 国产成人无码a片免费男男中文 | 精品人妻少妇嫩草av无码专区 | 国偷自产一区二区免费视频 | 成人免费在线观看视频 | 国产成人无码a区播放视频 国产成人无码a区视频在线观看 | 国产精品国三级国产av视色 | 国产精品一区二区电影 | 国产9191精品| 91精品在线免费 | 国产精品一区二区三区免费 | 精品日韩二区三区精品视频 | 91亚洲国产日韩欧美在线播放 | 成人亚洲欧美成αⅴ人在线观看 | 国产精品毛片av一区二区亚洲 | 911国产精品无码久久 | 国产一区国产二区在线精品 | 国产精品女上位好爽在线短片 | 国产高清不卡一区二区在线视频 | 国产日韩精品免费在线观看 | 精品人妻无码一区二区三区蜜桃 | 国精品人妻无码一区二 | 国模吧无码一区二区三区 | 国产乱aⅴ一区二区三区 | 丰满人妻av无码一区二区三区 | 91成人免费无码成人 | av在线中文字幕不卡电 | 国产欧美日韩综合aⅴ天堂 国产欧美日韩综合第一区第二区 | 国产精品午夜一级毛片精品 | 国产成人综合久久精品直播 | 国产精品日日摸夜夜添夜夜添无码 | 国产精品一级av在线播放 | 国产成人精品无码在线观看0 | 精品一卡二卡三无码a | 国产午夜福利片在线观看 | 国产一区二区不卡 | 国产精品国产成人国产三级 | 国产91精品一区在线观看 | 92国产福利久久青青草原 | 91成人国产网站在线观看 | 国产精品对白刺激音频在线观看 | 国产一区在线观看免费 | 国产三级理论电影在线观看网址 | 国产精品无码亚洲av一区 | 精品国产午夜福利在线观 | 高潮毛片无遮挡高清视频播放 | 成人片黄网站色大片免费观看cn | 国产尤物精品自在 | 国产高清一区二区在线免费观看 | 国产午夜精品美女免费大片 | 国产精品一区二区三区01 | 2025国产拍一区二区精品 | 国语自产视频在线一区二区 | 成人做爰www免费看视频韩国 | av在线播放五月天 | 成人午夜亚洲精品无码网站 | 国产一区二区高清视频 | 国产精品日韩一区二区三区 | 国语自产偷拍精品 | 国产精品三级在线观看 | 91大神免费观 | 国产精品高清一区二区三区99 | 国产超碰人人操 | 国产成人午夜福利在线观看视频 | 国产三级精品三级男 | 精品人妻av无码一区二区三 | 动漫在线一区不卡精品 | 91一码二码区别在哪儿啊 | 国产精品夜夜爽张柏芝 | 国产精品多p对白交换绿帽 国产精品多人p | 国产精品爽黄69天堂a片 | 国产高清国产精品国产专区 | 国产亚洲日韩激情视濒 | 国产无码一区二区三区在线观看 | 精品精品国产高清a级毛片8 | 国产成年人在线观看 | 国产免费无遮挡吸乳视频下载 | 黄桃av无码免费一区二区三区 | 精品精品国产高清a级毛片 精品精品国产高清a级毛片8 | 国产欧美精品国产国产专区 | 91精彩视频在线观看 | 精品一区二区三区免费视频 | 国产爆乳美女呻吟娇喘在线播放 | 国产成人精品免费视频版大全软件 | 97人妻一区免费精品 | 91精品国产制服啪啪无码 | 91一区在线观看免费完整 | 国产在线91精品 | 国产人妻高清国产拍精品 | 国产萌白酱喷水视 | 国产精品三级久久久久久电影 | 成人一区二区三区在线播放 | 国产美女特级嫩嫩嫩bbb | 成人免费大片黄在线观看com | 国产精品无码av片在线观看 | 国产午夜精品爆乳美女蜜臂av | 国产91福利精品免费观看 | 白丝jk女仆爆乳慰喷水流白浆 | 精品国产丝袜自在线拍国 | 国产尤物在线视精品亚洲 | 91成人午夜性a一级毛片 | 精品久久久久久亚洲偷窥一区 | 99久久伊人精 | 精品国产髙清在线看国产毛片 | 国产精品国产av片国产 | av无码动漫一区二区三区精品 | 91麻豆精品国产自产在线 | 国产区图片区小说区亚洲区 | 国产字幕制服中文在线 | 韩国三级电影久久久 | 91精品久久久久久久久无码 | 2025国产午夜福利 | av三级片黄片在线播放 | 国产综合一千收藏 | 911亚洲精品青草衣衣 | av无码久久久久不卡网站毛 | 国产成人精品一区二区三区18 | 国产成人免费ā片在线观看 | 国产亚洲日韩精品欧美一区二区 | 国产精品开放色视频 | 国产成人综合高清在线观看 | 成人免费无码精品国产电影同人 | 91高潮一区二区三区高潮九色 | a级毛片免费高清视频 | 国产一区二区三区在线免费 | 国产av一区二区 | 精品人妻大屁股白浆无码 | 国产自产亚洲精品国产 | 精品激情视频一区二区三区中 | 91欧洲亚洲中日韩在线观看 | 国产成人久久久久精品 | 国产雏女破苞在线播放 | 国产成年女人特黄特色大片免 | 国产传媒在 | 国产制服丝袜av不卡在线观看 | 精品人妻少妇一级毛片免费 | 国产精品无套内射迪丽热巴 | 国产精品视频一区二区五区 | 国产a网站| 国产系列丝袜熟女精品视频 | 国产交换配乱婬视频手机版 | 国产精品秘麻豆免费版口碑爆棚 | 国产极品精品免费视频久久 | 国产欧美日产综合 | 国产91丝袜在线播放九色 | 国产aaaaa一级毛片 | 99精品亚洲一区二区 | av片在线观看免费 | 国产成人精品高清免费 | 国产精品日韩电影制服丝袜 | 国产美女做a免费视频软件 国产美日韩精品久久 | 成人欧美日韩一区二区三区 | 国产女同玩sm调教在线观看 | 丰满少妇又爽又紧又丰满在线 | 国产精品原创巨作av在线 | 精品人妻系列无码人妻不卡 | 成人精品一区在线 | 成人av免费网址在线观看 | 国内真实愉拍系列情侣 | 国产午夜激无码av毛片护士 | 国产成在线观看免费视 | 国产成人精品无 | 国产亚洲欧美精品永久 | 国产精品亚洲综合网熟女 | 99精品人妻无码专区在线 | 国产精品欧美视频另类专区 | 国产91精品高潮白浆喷水 | 精品国产欧美一区二区三区 | 精品人妻无码一区二区三区视频 | 国产精品一区无码免费视频 | 91精品国产乱码在线观看 | 911亚洲精选在线观看 | 国在线产香蕉精 | 国产日韩一区在线观看 | 国产成人综合久久精品下载 | 99精品视频在线观看免费 | 91国自产精品一区二区三区 | 国产91av在| 18禁动漫一区二区三区 | 国产极品一区 | 18成禁人视频打屁股免费网站 | 国产欧美日韩视频一区在线 | 国产成人亚洲欧美日韩精品 | 国产人妖在线精品 | 国产亚洲欧美一区久久国产亚洲欧 | 国产一区二区三区视频 | 国产美女高潮抽搐在线播放 | 韩国福利影视一区二区三区 | 国产成人亚洲精品91专区高清 | 韩国欧美国产经典日本久久 | 国产av永久精品无码 | 国产成人精品一区二区20p | 成人无码不卡在线一区 | 国产在线精品一区二 | 国产精品入口麻豆高清在线 | 国产一区二区精品九九 | 国产a片免费视频 | 国产成人精品cao在 国产成人精品cao在线 | 国产夜色精品一区二区在线 | 国产麻豆国精精品久久毛片 | av无码专区亚洲av波多野结衣 | 成人无码a区在线观看视 | 国内视频在线精品一区 | 国产91成人精品亚洲精品 | 国产精品丝袜久久久久久聚色 | 成在线人永久免费视频播放 | 国产高清无码黄片亚洲成人毛片 | 国女精品爽爽一区二区 | 精品秘一区二三区免费雷安 | 国产精品白丝久久av情趣网站 | 国产成人人黄鳝网站视频 | 国产福利95精品一区二区三区 | 成人午夜黄网站在线观看 | 国产极品福利自在线观看 | 国产成人综合久久精品可下载 | 国产福利在线观看永久免费 | 91制片国产自 | 91精品婷| 国产精品成人不卡视频 | 国产欧美日韩免费观看一区二区 | 成人综合在线观看 | 国产成人综合亚洲亚洲国产第一页 | 国产91精品成人 | 国产成人精品免高 | 国产成人户外露出视频在线观看 | 成人精品无码片区在线观看 | 国产精品盗摄一区二区在线 | 国产成人精品一区二区秒拍 | 国产品精十八禁免费的网站 | 国产亚洲欧美一区二区在线观看 | 国产成人精品系列在线观看 | 国产丝袜精品丝袜久久 | 国产成人一区二区三区综合区 | 2025国产麻豆剧传媒电影 | 国产精品美女免费视频观看 | 91无码人妻精品一区 | 福利二区三区第1页 | 成人在线毛片 | 91在线无码精品秘入口九色 | 国产精品视频3p | 91久久精品国产性色tv | 国产无套码aⅴ在线观看在线 | 国产无码一区二区三区不卡视频 | 国产福利91精品一区 | 91久久中文精品无码中文字幕 | 国产精品无码翘臀在线观看 | 国精产品自线在拍在线精品 | 国产精品无码久久综合日韩 | 精品国产a毛片久久久av蜜桃 | 国产精品白丝jk黑袜喷水视 | 国产无套护士丝袜在线观看 | 国产福利片在线观不卡 | 波多野结衣高清中文在线 | 国产午夜精品一区二区三区不卡 | 国产一级一级一级国产片 | 国产肥熟女一区二区三区 | 波多野结衣国产一区二区在线观看 | 国产精品成人免费精品自在线 | av收藏夹国语剧情在线播放 | 国产美女精| 国产av无码专区亚汌a√ | 国产av永久福利资源网站 | 91精品国产网 | 国产精品观看视 | 3p黑人老外视频在 | 国产成年女人免费视频播放a | 国产成人av免 | 国产精品乱码久久久 | 国产无码精品在线 | 国产午夜大秀一区二区三区 | 丰满人妻熟妇乱又伦精品劲 | av在线不卡免费看 | 国产在线日韩制服 | 国产av午夜网站 | 99精品一区无码在线观看 | 国产福利精品一区二区无码 | 国产蜜芽尤物在线一区 | 丰满的岳乱一区二区 | 国产99精品视频免费观看 | 精品少妇人妻av无码专区偷人 | 91福利国产在线在线播放 | 成人无码视频在 | 国产精品免费一区二区在线观看 | 国产精品动漫自慰一二三区 | 91女人18毛片水多国产 | 国产av果冻传媒在线观看 | 潮喷大量喷水失禁在线观看 | 国产精品高清无码在线观看 | 国产精品美女www爽爽爽视频 | 国产午夜精品一区二区三区不卡 | 国产激情一区二区三区 | 国产重口老太和两个小伙另类 | 成人爱做日本视频免费 | 国产精品久久久久国产 | 国产精品大片大片看大 | 国产成人午夜福利免费无码r | 国产在线播放无码不卡 | 国产精品精品久久久久久一 | 国产一线大片免费观看 | 91河南老熟| 国产成人无码不卡精品久久久 | 2025年最新偷拍视频一区 | 国产欧美另类精品又又久久 | 国产精品成人va在线观看午夜 | 国产无套露脸在线观看 | av无码高清 | 91人妻无码精品一区二区夜色 | 韩国精品亚洲五月天精品 | 2025自拍偷区亚洲综合第一页 | 91精品人妻一区二区三区蜜 | av无码小缝喷白浆在线观看 | 国产成人无码精品久久二区三区 | 国产内射在线激情 | 国产无码最新上传在线观看 | 91免费看三级片 | 国产成a人亚洲精v品在 | 国产精品一区久久一区 | 国产成人精品一区二区三区视频 | 69精品人人人人人人人人人 | 国产成人午夜在线视频极速观看 | 精品无码欧美日本 | 2025国产精品香蕉在线观看 | 99精品国产免费久久 | 二区本道av特级毛片 | 国产成人久久婷婷精 | 91久久九九亚洲一区二区 | 国产精品一区二区国产主播 | 精品少妇爆乳无码aⅴ区 | 精品国产99久久无毒不卡 | a级毛片视频国产精品视频 a级毛片视频免费观看不卡 | 加勒比东京热一区二区 | 国产黄频在线观看视频 |