如何在 .Net 7 中將 Query 綁定到數組

在 .Net 7 中,我們可以通過綁定數組的方式來接收來自查詢字符串的參數。這樣就不需要再使用逗號分隔的字符串來獲取參數了。

代碼演示

假設我們需要從 query 上接受多個 id 并返回查詢的結果。例如:id=1&id=2

在 .Net 7 中,我們可以這樣實現:

public?ActionResult?GetResults([FromQuery]int[]?ids)
{//?使用?ids?數組查詢結果
}

這樣就可以直接將 id=1&id=2 這樣的查詢字符串綁定到 ids 數組上。

借助 IParsable 綁定更復雜的類型

如果我們需要綁定的類型比較復雜,例如:

public?ActionResult?GetResults([FromQuery]MyDate[]?dates)
{//?使用?dates?數組查詢結果
}

我們可以通過實現 IParsable<T> 接口來實現自定義的綁定。

public?class?MyDate?:?IParsable<MyDate>
{public?int?Month?{?get;?set;?}public?int?Day?{?get;?set;?}public?void?Parse(string?input){var?parts?=?input.Split('-');Month?=?int.Parse(parts[0]);Day?=?int.Parse(parts[1]);}public?static?MyDate?Parse(string?s,?IFormatProvider??provider){var?date?=?new?MyDate();date.Parse(s);return?date;}public?static?bool?TryParse(string??s,?IFormatProvider??provider,?out?MyDate?result){try{result?=?Parse(s,?provider);return?true;}catch{result?=?default;return?false;}}
}

這樣就可以通過 dates=1-1&dates=2-2 這樣的查詢字符串來綁定到 MyDate[] 數組上了。

參考資料

  • Bind arrays and string values from headers and query strings[1]

本文采用 Chat OpenAI 輔助注水澆筑而成,如有雷同,完全有可能。

  • 本文作者:newbe36524

  • 本文鏈接:https://www.newbe.pro/ChatAI/How-to-binding-query-to-array-in-dotnet-7/

  • 版權聲明:本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協議。轉載請注明出處!

參考資料

[1]

Bind arrays and string values from headers and query strings: https://learn.microsoft.com/aspnet/core/fundamentals/minimal-apis?preserve-view=true&view=aspnetcore-7.0&WT.mc_id=DX-MVP-5003606#bind-arrays-and-string-values-from-headers-and-query-strings

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280068.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280068.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280068.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

xbox one 越獄_如何在Xbox One上播放視頻和音樂文件

xbox one 越獄The Xbox One has integrated TV features and support for streaming media apps like Netflix and Hulu, but that isn’t where it ends. You can play video and music files you’ve ripped or downloaded by plugging in a USB drive or streaming them ove…

C++實驗七

11——3 #include<fstream>using namespace std;int main(){ ofstream file; file.open("test1.txt",ios_base::binary); file<<"已成功添加字符&#xff01;"; file.close(); return 0; } 11-4 #include<fstream>#include<iostrea…

Visual Studio 15.4發布,新增多平臺支持

微軟發布了Visual Studio 2017的第四個升級版本&#xff0c;并且延續了支持.NET Standard 2.0和通用Windows平臺&#xff08;UWP&#xff09;的承諾。.NET Standard 2.0支持是微軟推動跨平臺應用程序開發和代碼重用戰略的重要一環。\\15.4版本的變化與微軟發布的預覽版非常接近…

重新學習web后端開發-001-寫在前面的話

"長風破浪會有時 直掛云帆濟滄海" —— 李白<!-- more --> 1. 為什么會寫這個系列 隨著互聯網技術飛速的非常&#xff0c;web開發一直都是互聯網技術的重要部分之一。在作者十余年的工作中&#xff0c;經歷了從程序員到高級工程師&#xff0c;然后開始負責項目…

WPF-20 ICommand命令綁定

這節我們介紹一下WPF中比較重要的接口ICommand&#xff0c;也是WPF中一個新的特性&#xff0c;做過WinForm朋友都知道&#xff0c;WinForm開發是基于事件驅動開發模式&#xff0c;比如一個Button有Click事件&#xff0c;當我點擊該按鈕時&#xff0c;在當前頁面會執行具體的業務…

如何在Safari中查看網頁的完整URL

Modern versions of Safari don’t show the entire URL of a page in the address bar—it just shows the web site’s domain name. If this bothers you, it’s easy to change. Safari的現代版本無法在地址欄中顯示頁面的整個URL&#xff0c;而僅顯示網站的域名。 如果這困…

PHP | Uploading and reading of files and database 【PHP | 文件的上傳和讀取與數據庫】

這是我自己的一個作業&#xff0c;用的是很基礎的代碼。 有錯誤的地方歡迎批評和指正&#xff01; 這里最容易出錯的地方在讀取數據后向數據庫表中插入數據是的數據格式&#xff01; 文件上傳的頁面 uploading.php <html> <body align "center"> <fo…

Mqttnet內存與性能改進錄

1 MQTTnet介紹MQTTnet是一個高性能的 .NET MQTT庫&#xff0c;它提供MQTT客戶端和MQTT服務器的功能&#xff0c;支持到最新MQTT5協議版本&#xff0c;支持.Net Framework4.5.2版本或以上。MQTTnet is a high performance .NET library for MQTT based communication. It provid…

DataArtisans戰略聯手阿里云 Apache Flink服務能力云化

近日&#xff0c;Apache Flink商業公司 CEO、聯合創始人Kostas Tzoumas在云棲大會上宣布和阿里集團達成戰略合作伙伴關系&#xff0c;希望能夠借助全球最大的云計算公司之一阿里云&#xff0c;服務更多的大數據實時流計算的客戶。同時期待通過加強和阿里集團技術合作&#xff0…

高清、免版權美圖資源大全

正所謂“一圖勝千言”&#xff0c;當在寫文章、做設計、搞 PPT、發朋友圈&#xff0c;搭配一些合適的圖&#xff0c;這無疑將極大提升內容的表現力。鑒于此&#xff0c;在傾城之鏈的美圖板塊&#xff0c;收錄了來自世界各地的優質圖片網站&#xff0c;它們所提供高品質且免費的…

如何在WhatsApp中將群聊靜音

Group Chats are awesome if you’re in a club, want to keep in touch with all your friends, or are trying organize something. Unfortunately, if you’re busy and the other members decide to have a long, detailed conversation about the latest episode of Game …

Django進階之session

Django進階之session 基于cookie做用戶驗證時&#xff1a;敏感信息不適合放在cookie中 session依賴cookie session原理 cookie是保存在用戶瀏覽器端的鍵值對 session是保存在服務器端的鍵值對 session服務端中存在的數據為&#xff1a; session {隨機字符串1&#xff1a;{用戶…

Facebook開源 PyTorch版 fairseq,準確性最高、速度比循環神經網絡快9倍

今年5月&#xff0c;Facebook AI研究院&#xff08;FAIR&#xff09;發表了他們的研究成果fairseq&#xff0c;在fairseq中&#xff0c;他們使用了一種新型的卷積神經網絡來做語言翻譯&#xff0c;比循環神經網絡的速度快了9倍&#xff0c;而且準確性也是現有模型中最高的。此外…

推薦一個開源的現代化的 PDF 生成組件

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具和組件&#xff0c;希望對您有用&#xff01;前言QuestPDF 是一個開源免費的 .NET 組件庫&#xff0c;可以用來生成 PDF 文檔。在 Github 上有4千多的 Star。項目充分考慮了 PDF 文…

小程序調用阿里云身份證識別OCR(附帶七牛云上傳圖片)

寫在前面&#xff1a;實現的邏輯是拍照上傳調用后端封裝好的身份證接口&#xff0c;然后同時調用七牛云接口把照片傳過去以便后臺管理系統審核看1:首選需要這么一張頁面接下來就寫我是怎么做的首先是布局&#xff08;以下是wxml&#xff09; <view><view classidcard&…

windows 安裝yaml支持和pytest支持等

打開cmd 輸入pip install pyyaml #yaml文件支持 輸入pip install pytest #pytest框架支持 輸入pip install requests #requests接口測試支持 輸入pip install pyopenssl #openssl支持 前提是電腦上的python已經配置好了轉載于:https://www.cnblogs.com/mghhzAnne/p/92…

史上最好記的神經網絡結構速記表(上)

本文講的是史上最好記的神經網絡結構速記表&#xff08;上&#xff09;&#xff0c;新的神經網絡結構不斷涌現&#xff0c;我們很難一一掌握。哪怕一開始只是記住所有的簡稱&#xff08; DCIGN&#xff0c;BiLSTM&#xff0c;DCGAN &#xff09;&#xff0c;也會讓同學們吃不消…

厚積薄發,微軟OFFICE云時代宏腳本來臨,Excel Srcipt已經推進到桌面端可用

前一陣子&#xff0c;已經發現微軟在Excel上發布了Office Script For Excel&#xff0c;當時只能在網頁端的Excel上使用&#xff0c;今天打開桌面端的Excel&#xff0c;發現多了一個【自動執行】選項卡。再一次看了下&#xff0c;比起以前的Office Addin&#xff0c;要先進得多…

如何使用Amazon Echo控制您的Eero Wi-Fi網絡

Thanks to the power of Alexa and its open API, you’re able to control a vast number of devices using just your voice. If you have an Eero Wi-Fi system, you can even control your home network with the Amazon Echo. 得益于Alexa的強大功能及其開放的API&#xf…

H5在WebView上開發小結

背景 來自我司業務方要求&#xff0c;需開發一款APP。但由于時間限制&#xff0c;只能采取套殼app方式&#xff0c;即原生app內嵌webview展示前端頁面。本文主要記述JavaScript與原生app間通信&#xff0c;以及內嵌webview開發時&#xff0c;前端方面可能踩的一些坑。 技術架構…