DateTimesがシリアル化されたときに値が0の場合はミリ秒単位で終了する.NET Core APIに問題がありました。This質問で問題が説明されています。私は.NETのコアスタートアップクラスに以下を追加し、それは私がGET
をしたとき、すべての日付が正しくフォーマットされることを、このような問題解決:これを実装した後.NET APIに追加されたIsoDateTimeConverterがデフォルトのモデルバインディングを破る
services.AddMvc()
.AddJsonOptions(options =>
{
var settings = options.SerializerSettings;
var dateConverter = new IsoDateTimeConverter
{
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fff"
};
settings.Converters.Add(dateConverter);
});
を、私はそれがデフォルトのモデルバインディングを破ったことがわかりました他の場所。日付コンバータを実装した後
{
dateOfBirth: '1981-04-18'
}
:
public class PatientRegistrationViewModel
{
public DateTime DateOfBirth { get; set; }
}
は以前、私はそれが正常にバインドリクエストボディに、次のJSONデータを渡した:たとえば、私は次のviewmodelを受け入れPOST
エンドポイントを持っています私のコントローラでは、上記のviewmodelはnullになります。
「DateTimeFormat」文字列の最後に '' Z''を忘れてしまったのでしょうか? – haindl
@haindl残念ながら、それはそれをしませんでした。 – im1dermike