首页 新闻 会员 周边

MVC4 WEB API中强类型返回值的问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-09-03 16:59

ModelClass是个模型类

public ModelClass Get(){
Service _Service =new Service ();
ModelClass list= _Service.getAll();
 if(list!=null){
    return list;
 }
 else {
    return ???;
 }
}

 

在不修改或继承ModelClass的情况下,这样的请求如何在list为null的时候返回其他类型的值呢?比如自定义字符串“Error”。

 

asp.net网站上有篇Exception 处理的文章使用的这个方法:

throw new HttpResponseException(HttpStatusCode.NotFound);

但是直接使用throw会造成程序报错啊,如果处理了这个异常又不会触发了

flytothemoon的主页 flytothemoon | 初学一级 | 园豆:111
提问于:2012-09-03 16:22
< >
分享
最佳答案
0

刚把asp.net上的文章仔细看了遍,可以使用HttpResponseMessage作为返回对象,当成功的时候使用return Request.CreateResponse(HttpStatusCode.OK, list)来返回值,不成功则可以依自己需求返回不同状态码及不同类型的数据,CreateResponse共8个重载方法

flytothemoon | 初学一级 |园豆:111 | 2012-09-03 16:38
其他回答(2)
0

get(out string errMessage)

無限遐想 | 园豆:3740 (老鸟四级) | 2012-09-03 16:37
0

应该是抛出一个自定义的异常,然后用HandleErrorAttribute或者Controller自己的OnException来处理这个异常

收获园豆:20
zhangweiwen | 园豆:904 (小虾三级) | 2012-09-03 16:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册