ServiceStack的AutoQuery Viewer Plugin允许您使用AutoQuery元数据属性修饰AutoQueries。我使用AutoQuery中的现有元数据服务来为前端提供动力并显示搜索查询(类似于现有的AutoQuery Admin功能)
如何向AutoQueryViewerAttribute扩展/添加其他属性,以便它们在Autoquery元数据服务中可用?
可用的AutoQuery属性的当前列表:
public class AutoQueryViewerAttribute : AttributeBase
{
public string Title { get; set; }
public string Description { get; set; }
public string IconUrl { get; set; }
public string BrandUrl { get; set; }
public string BrandImageUrl { get; set; }
public string TextColor { get; set; }
public string LinkColor { get; set; }
public string BackgroundColor { get; set; }
public string BackgroundImageUrl { get; set; }
public string DefaultSearchField { get; set; }
public string DefaultSearchType { get; set; }
public string DefaultSearchText { get; set; }
public string DefaultFields { get; set; }
}
我想扩展AutoQueryViewerAttribute属性列表并添加两个额外的属性:
public string SourceDescription { get; set; }
public string SourceApplicationName { get; set; }
答案 0 :(得分:1)
您无法扩展硬编码的[AutoQueryViewer]
属性。属性上的信息用于填充Typed AutoQueryMetadataResponse DTO,这是序列化的,以提供AutoQuery元数据服务。我刚刚在this commit的MetadataType
,AutoQueryViewerConfig
,AutoQueryViewerUserInfo
,AutoQueryOperation
和AutoQueryMetadataResponse
DTO添加了Meta String Dictionaries,所以你可以使用MetadataFilter
将其他元数据附加到AutoQuery元数据DTO,例如:
Plugins.Add(new AutoQueryMetadataFeature {
MetadataFilter = response => {
response.Meta = new Dictionary<string,string> {
{ "SourceApplicationName", "My App" },
{ "SourceDescription", "My App Description" },
};
}
});
此更改可从 v4.5.13 获得,现在为available on MyGet。