Если вы используете Newtonsoft. Json в Startup.cs, кажется, что мы планируем преобразовать случайное целое число в true
. Вы можете написать собственный JsonConverter, как показано ниже:
public class CustomBoolConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return true;
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var value = reader.Value;
if (value.GetType() != typeof(bool))
{
throw new JsonReaderException("The JSON value could not be converted to System.Boolean.");
}
return value;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, value as string);
}
}
Startup.cs
services.AddControllers()
.AddNewtonsoftJson();
Альтернативный метод, вы можете использовать System.Text.Json
, который по умолчанию, так как ASP. NET Core 3.0, Startup.cs, как показано ниже:
services.AddControllers();
//.AddNewtonsoftJson();
При вводе неверного значения будет возвращена следующая ошибка: ![enter image description here](https://i.stack.imgur.com/Co46S.png)