簡體   English   中英

日期時間空模型架構顯示 swashbuckle + swagger ui

[英]Date Time null model schema display swashbuckle + swagger ui

我已經實現了 Swashbuckle 和 Swagger UI 來完成我的 API 文檔。

我在正確顯示可為空的DateTime或任何可為空的對象時遇到問題。

當前,可為空的DateTime在響應模型架構中顯示為"date": "2016-05-27T00:15:41.658Z"

響應模型將日期顯示為date (string, optional) ,表明它是可選的,但它也為不可為空的DateTime顯示DateTime

我嘗試通過以下方式添加默認值: Swashbuckle (Swagger) 中的默認模型示例,並嘗試通過最后一個答案添加模型模式示例。

關於如何在模型模式中顯示"date": "null"任何想法? 或者找到一種更好的方法讓閱讀文檔的人指示date對象可以為空?

簡短的回答

你不能也不應該

稍長的答案

基本上提供的文檔date (string, optional)已經告訴您的消費者該屬性可以為空或在請求或響應中丟失。 因此,提供一個帶有"date": null的示例並不是很有幫助。 然而,提供一個包含有效日期的示例是有幫助的:它讓消費者了解日期的樣子。

現在,轉到DateTimeDateTime? 屬性服務器端。 當服務器收到一個缺少日期的對象時,屬性的類型決定了它的值。 當缺少DateTime類型的屬性時,ASP.Net Web API 會將該屬性設置為最小日期 (01-01-0001Z00:00:00)。 但是,當屬性類型為DateTime? 丟失,ASP.Net Web API 會將該屬性設置為 null。

服務器發送的響應也是如此。 當服務器發送一個具有DateTime類型屬性的對象時,它總是會發送一個值。 但是,當屬性類型為DateTime? 是發送,發送的屬性只有在屬性的“HasValue”為真時才會有一個值。 否則響應將不具有該屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM