我的任务是确保控制器可以根据谁调用相应的 API 返回类似 Json 的响应或视图。为此,我更改了我制作的每个控制器的返回值,以便它们提供JsonResult并且我创建了一个扩展IResultFilter的类。
在由IResultFilter扩展的 OnResultExecuting 方法中,我插入了我的实现:我检查了调用的Accept标头,如果它包含text/html我必须将JsonResult转换为ViewResult,仅将 Json值主体(其中还包含我在 ViewModel 中不需要的有关调用的其他信息)。但不在控制器中,我无法创建 ViewResult 对象。
我怎样才能做到这一点?