webapi使用swagger出現“Cannot read property 'parameters' of null”


前端時間在webapi項目使用swagger來提供接口文檔及測試工具,按網上方法(http://wmpratt.com/swagger-and-asp-net-web-api-part-1配置好之后在瀏覽器控制台出現"Cannot read property 'parameters' of null"錯誤。

后面發現問題出在//localhost:5645/swagger/docs/v1這個JSON資源上面,序列化出來的JSON,包含了為NULL的字段,導致swagger-ui-min-js出現異常。

進一步分析是因為我項目使用的newtonsoft.json這個庫的配置導致,應該忽略為NULL的字段,如下:

//這里使用自定義日期格式
var jsonFormatter = new JsonMediaTypeFormatter();
var settings = jsonFormatter.SerializerSettings;
var timeConverter= new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
settings.Converters.Add(timeConverter);
settings.NullValueHandling = NullValueHandling.Ignore;
config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM