亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

.NET 中如何實現(xiàn) Web API 標準化響應模型

admin
2024年11月22日 14:32 本文熱度 1718

前言

隨著微服務的不斷發(fā)展,開發(fā) Web API 并提供一致且清晰的響應模型對開發(fā)人員和用戶都至關重要。標準化的響應不僅使可以使用 API 更易于使用,而且還能提高其可維護性。本文將探討在 .NET Core Web API 創(chuàng)建標準化響應的過程,實現(xiàn)管理 API 響應和處理錯誤的實例。

標準響應模型

一致性的 API 響應對于 Web APP 很關鍵。引入標準化響應模型可確保請求端以預測的格式接收響應,無論請求是否成功?,F(xiàn)在從定義一個標準模型(ResponseModel<T>)開始,該模型封裝了成功和錯誤場景。

標準響應模型通常包括以下內(nèi)容:

  • Status(狀態(tài)): 表示請求是否成功或是否發(fā)生錯誤;

  • Message(消息): 提供與響應有關的其他信息,這可為調(diào)試和了解結(jié)果提供幫助;

  • Data(數(shù)據(jù)): 包含 API 返回的實際數(shù)據(jù);

  • Exception(異常信息): 當請求不成功,提供所有錯誤詳細信息;


    定義標準化響應模型的簡單示例:

    public class ResponseModel<T>{    /// <summary>    /// 狀態(tài)    /// </summary>    public bool Status { get; set; }    /// <summary>    /// 消息    /// </summary>    public string Message { get; set; }    /// <summary>    /// 保存響應數(shù)據(jù)    /// </summary>    public T Data { get; set; }    /// <summary>    /// 異常    /// </summary>    public List<string> Errors { get; set; }    /// <summary>    ///     /// </summary>    public ResponseModel()    {        Status = true;    }}

    模型實現(xiàn)步驟

    1、創(chuàng)建響應標準模型類

    定義一個可以處理不同類型數(shù)據(jù)的泛型類ResponseModel<T>,其包括 Status、Message、Data、Errors 等屬性??蓞⒖忌厦娴氖纠?。

    2、在 Controller 服務中實現(xiàn)響應模型

    定義Customer服務的Controller類,方法分別是GetCustomerById 和 CreateCustomer。這二個方法分別為 GET API 的方法與POST API 的方法。

    • 定義一個 Customer 實體類

    public class CustomerModel{    /// <summary>    /// ID    /// </summary>    public int CustomerId {get; set;}    /// <summary>    /// 名稱    /// </summary>    public string CustomerName {get; set;}    /// <summary>    /// 簡稱    /// </summary>    public string CustomerShort {get; set;}    /// <summary>    /// 城市    /// </summary>    public string City {get; set;}    /// <summary>    /// 等級    /// </summary>    public string Grade {get; set;}}

    • GET API  模式的 GetCustomerById

    using Microsoft.AspNetCore.Mvc;
    namespace Fountain.WebAPI.JwtTokenDemo.Controllers{    [Route("api/[controller]")]    [ApiController]    public class CustomerController : ControllerBase    {        /// <summary>        ///        /// </summary>            [HttpGet("{id}")]        public async Task<IActionResult> GetCustomerById(int id)        {            ResponseModel<CustomerModel> response = new ResponseModel<CustomerModel>();
               try            {                CustomerModel item = await itemService.GetItemByIdAsync(id);                if (item == null)                {                    response.Status = false;                    response.Message = "客戶檔案不存在";                    // 返回響應                    return NotFound(response);                }
                   response.Status = true;                response.Message = "Success";                response.Data = item;                // 返回響應                return Ok(response);            }            catch (Exception ex)            {                response.Status = false;                response.Message = "Failure";                List<string> error = new List<string>();                error.Add(ex.Message);                // 返回響應                response.Errors = error;                return StatusCode(500, response);            }        }    }}

    • POST API  模式的 CreateCustomer

    using Microsoft.AspNetCore.Mvc;
    namespace Fountain.WebAPI.JwtTokenDemo.Controllers{    [Route("api/[controller]")]    [ApiController]    public class CustomerController : ControllerBase    {        [HttpPost]        public async Task<IActionResult> CreateCustomer(CustomerModel customer)        {            ResponseModel<string> response = new ResponseModel<string>();            try            {                itemService.CreateCustomer(customer);                response.Data = null;                response.Status = true;                response.Message = "success";                return Ok(response);            }            catch (Exception ex)            {                response.Status = false;                response.Message = "Failure";                response.Data = null;                List<string> error = new List<string>();                error.Add(ex.Message);                // 返回響應                response.Errors = error;                return StatusCode(500, response);            }        }    }}

    3、簡單說明

    ResponseModel 使用泛型的設計,允許響應模型處理任何類型的數(shù)據(jù),使其具有極強的通用性和可重用性。無論您的 API 需要返回簡單字符串、復雜對象還是項目集合,通用數(shù)據(jù)類型參數(shù) <T> 都可以確保標準響應模型可以無縫地適應它。

    小結(jié)

    以上是 ASP.NET Core Web API ,使用 C# 實現(xiàn)標準響應模型的具體步驟。通過使用標準響應可以增強用戶體驗、簡化調(diào)試并確保Web API的可靠性。希望本文對您有所收獲,如有不到之處,請多多包涵。


    該文章在 2024/11/22 17:03:14 編輯過
    關鍵字查詢
    相關文章
    正在查詢...
    點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
    點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
    點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved