ServiceStack AutoQuery 关于丢失的警告 属性
ServiceStack AutoQuery warning about missing property
当我查询 AutoQuery 服务(常规 GET 请求)时,即使请求工作正常,我也会在日志中收到警告。对于 URL:https://localhost:5001/employees?BirthDate%3E=1950-01-01
,警告看起来像这样
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/employees?BirthDate%3E=1950-01-01 - -
warn: ServiceStack.Serialization.StringMapTypeDeserializer[0]
Property 'birthdate>' does not exist on type 'autoquery.ServiceModel.AutoQueries+QueryEmployee'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished HTTP/2 GET https://localhost:5001/employees?BirthDate%3E=1950-01-01 - - - 200 - text/html 291.5297ms
我使用 Northwind 数据库创建了一个示例,该数据库是我从 x mix northwind.sqlite
和官方示例中的 DTO 获得的:https://github.com/ServiceStackApps/Northwind/blob/master/src/Northwind/Northwind.ServiceModel/Types/Employee.cs.
这个“错误警告”有点麻烦,因为没有任何问题,它用我需要忽略的警告填满了我的日志。特别是因为我在日志中为 WARN+ERR 设置了警报。
这在使用 AutoQuery's Implicit Contentions 时是预期的,其中记录了警告,因为请求被发送到 API 而没有匹配的请求 DTO 属性。
您可以添加 BirthDate
作为 AutoQuery DTO 的类型化 属性,或者您可以忽略所有“出生日期”属性:
SetConfig(new HostConfig {
IgnoreWarningsOnPropertyNames = { "BirthDate" }
});
或者您可以禁用所有缺失的 属性 警告:
SetConfig(new HostConfig {
IgnoreWarningsOnAllProperties = true
});
在现在的最新 v5.12.1 中 available on MyGet 默认情况下,ServiceStack 将不再警告 AutoQuery DTO 上缺少属性,可以通过以下方式重新启用它:
SetConfig(new HostConfig {
IgnoreWarningsOnAutoQueryApis = false
});
当我查询 AutoQuery 服务(常规 GET 请求)时,即使请求工作正常,我也会在日志中收到警告。对于 URL:https://localhost:5001/employees?BirthDate%3E=1950-01-01
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
Request starting HTTP/2 GET https://localhost:5001/employees?BirthDate%3E=1950-01-01 - -
warn: ServiceStack.Serialization.StringMapTypeDeserializer[0]
Property 'birthdate>' does not exist on type 'autoquery.ServiceModel.AutoQueries+QueryEmployee'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
Request finished HTTP/2 GET https://localhost:5001/employees?BirthDate%3E=1950-01-01 - - - 200 - text/html 291.5297ms
我使用 Northwind 数据库创建了一个示例,该数据库是我从 x mix northwind.sqlite
和官方示例中的 DTO 获得的:https://github.com/ServiceStackApps/Northwind/blob/master/src/Northwind/Northwind.ServiceModel/Types/Employee.cs.
这个“错误警告”有点麻烦,因为没有任何问题,它用我需要忽略的警告填满了我的日志。特别是因为我在日志中为 WARN+ERR 设置了警报。
这在使用 AutoQuery's Implicit Contentions 时是预期的,其中记录了警告,因为请求被发送到 API 而没有匹配的请求 DTO 属性。
您可以添加 BirthDate
作为 AutoQuery DTO 的类型化 属性,或者您可以忽略所有“出生日期”属性:
SetConfig(new HostConfig {
IgnoreWarningsOnPropertyNames = { "BirthDate" }
});
或者您可以禁用所有缺失的 属性 警告:
SetConfig(new HostConfig {
IgnoreWarningsOnAllProperties = true
});
在现在的最新 v5.12.1 中 available on MyGet 默认情况下,ServiceStack 将不再警告 AutoQuery DTO 上缺少属性,可以通过以下方式重新启用它:
SetConfig(new HostConfig {
IgnoreWarningsOnAutoQueryApis = false
});