From 1b3ec00da34da848700a75aa55e6b9dd2da92627 Mon Sep 17 00:00:00 2001
From: wanggaofeng <15601716045@163.com>
Date: Sun, 7 Jan 2024 19:45:00 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Controllers/NormalController.cs           | 104 ++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/HttpClientStudy.WebApp/Controllers/NormalController.cs b/HttpClientStudy.WebApp/Controllers/NormalController.cs
index 9e84770..400439f 100644
--- a/HttpClientStudy.WebApp/Controllers/NormalController.cs
+++ b/HttpClientStudy.WebApp/Controllers/NormalController.cs
@@ -5,6 +5,7 @@ using HttpClientStudy.Service;
 
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using Microsoft.OpenApi.Validations;
 
 namespace HttpClientStudy.WebApp.Controllers
 {
@@ -27,6 +28,8 @@ namespace HttpClientStudy.WebApp.Controllers
             _accountService = accountService;
         }
 
+        #region GET
+
         /// <summary>
         /// 获取所有账号
         /// (无参数)
@@ -130,7 +133,9 @@ namespace HttpClientStudy.WebApp.Controllers
             var result = BaseResultUtil.Success(account);
             return Ok(result);
         }
+        #endregion
 
+        #region PUT
         /// <summary>
         /// Put请求 示例
         /// </summary>
@@ -144,7 +149,9 @@ namespace HttpClientStudy.WebApp.Controllers
             var result = BaseResultUtil.Success(account);
             return Ok(result);
         }
+        #endregion
 
+        #region HEAD
         /// <summary>
         /// Head请求 示例
         /// </summary>
@@ -158,5 +165,102 @@ namespace HttpClientStudy.WebApp.Controllers
             var result = BaseResultUtil.Success(account);
             return Ok(result);
         }
+        #endregion
+
+        #region POST
+
+        /// <summary>
+        /// 简单POST请求
+        /// (无请求体数据)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult PostSimple()
+        {
+            BaseResult<string> result = BaseResultUtil.Success<string>("简单POST请求");
+
+            //这样丢失内容协商,只会返回JSON数据
+            return new JsonResult(result);
+        }
+
+        /// <summary>
+        /// POST 请求
+        /// 创建新账号(请求体数据)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult PostCreate([FromBody]Account account)
+        {
+            //注意:参数加[FromBody]特性,在有服务注入对象时,默认使用服务注入的对象而不是请求体
+            CreatedAtActionResult? result = new CreatedAtActionResult("GetAccount","Normal",null,account);
+
+            return Ok(result);
+        }
+
+        /// <summary>
+        /// POST 请求
+        /// 更新账号(请求体数据)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult PostUpdate([FromBody] Account account)
+        {
+            var result = BaseResultUtil.Success<Account>(account);
+            return Ok(result);
+        }
+
+        /// <summary>
+        /// POST 请求
+        /// 删除账号(查询参数)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult PostRemove([FromQuery] int id)
+        {
+            var account = _accountService.GetAllAccounts().FirstOrDefault(a => a.Id == id);
+            var result = BaseResultUtil.Success<Account>(account);
+            return Ok(result);
+        }
+        
+        #endregion
+
+        #region DELETE
+        /// <summary>
+        /// DELETE 请求
+        /// 删除账号(查询参数)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult Delete([FromQuery] int id)
+        {
+            var account = _accountService.GetAllAccounts().FirstOrDefault(a => a.Id == id);
+            var result = BaseResultUtil.Success<Account>(account);
+            return Ok(result);
+        }
+
+        /// <summary>
+        /// DELETE 请求
+        /// 删除账号(查询参数)
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        public IActionResult Delete([FromBody] Account account)
+        {
+            var result = BaseResultUtil.Success<Account>(account);
+            return Ok(result);
+        }
+        #endregion
+
+        #region OPTIONS
+        #endregion
+
+        #region PATCH
+        #endregion
+
+        #region TRACE
+        #endregion
+
+        #region CONNECT
+        #endregion
     }
 }