当 ASP.NET WebAPI 函数返回值为 IEnumerable 且 HTTP 请求方法为 GET 的 JSON 时,我想抛出一个异常 -希望停止生成任何顶级为数组的 JSON。
我试图通过创建 MediaTypeFormatter 来做到这一点。我能做到吗?我还有其他方法可以做到这一点吗?谢谢。
就像是:
public class CustomFormatter : MediaTypeFormatter
{
public override Task WriteToStreamAsync(Type type, object value, Stream stream, HttpContentHeaders contentHeaders, TransportContext transportContext)
{
// Retrieve value for isGetRequest somehow...
if (value is IEnumerable && isGetRequest)
{
throw new InvalidOperationException();
}
...
}
}