C# 如何在运行时确定ServiceStack请求中的接受类型
我正在使用ServiceStack包装一个只返回xml或json(作为字符串)的组件,我想知道如何在我的服务代码中区分是调用第三方对象的toJson()还是toXml()方法 IRequest对象公开了一个AcceptTypes数组,该数组可能包含“application/json”或“application/xml”或“text/xml”,是否有更好的方法来确保他们请求的格式是什么,并以此作为我的决策基础 谢谢,, 斯蒂芬C# 如何在运行时确定ServiceStack请求中的接受类型,c#,json,xml,
servicestack,C#,Json,Xml,
servicestack,我正在使用ServiceStack包装一个只返回xml或json(作为字符串)的组件,我想知道如何在我的服务代码中区分是调用第三方对象的toJson()还是toXml()方法 IRequest对象公开了一个AcceptTypes数组,该数组可能包含“application/json”或“application/xml”或“text/xml”,是否有更好的方法来确保他们请求的格式是什么,并以此作为我的决策基础 谢谢,, 斯蒂芬 ServiceStack计算要返回的最合适的ResponseType,
ServiceStack计算要返回的最合适的ResponseType,并将其填入
IRequest.ResponseContentType
因此,您可以通过以下方法确定:
response.Result = Request.ResponseContentType.MatchesContentType(MimeTypes.Xml)
? entity.GetXml()
: entity.GetJson();
response.Result = Request.ResponseContentType.MatchesContentType(MimeTypes.Xml)
? entity.GetXml()
: entity.GetJson();