我找到了一个链接,用于删除模型属性中字符串类型为How to trim spaces of model in ASP.NET MVC Web API
的多余空格。如何在dot net core 2.1 Web API中实现相同的功能?
或者在dotnet核心中有可用的格式化程序来消除输入和输出模型中的多余空间?
预先感谢?
答案 0 :(得分:2)
我相信您链接的答案可能是您的最佳选择。 因此,请根据anwser创建一个转换器。
class TrimmingConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(string);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.TokenType == JsonToken.String)
if (reader.Value != null)
return (reader.Value as string).Trim();
return reader.Value;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var text = (string)value;
if (text == null)
writer.WriteNull();
else
writer.WriteValue(text.Trim());
}
}
然后像下面这样在ConfigureServices
类的Startup
方法中注册它:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddJsonOptions(a => a.SerializerSettings.Converters.Add(new TrimmingConverter()));
}